设置值以使用Javascript设计表单值

时间:2018-03-28 15:11:45

标签: javascript ruby-on-rails

我有这个makeid函数,它返回一个10个字符的随机字符串

function makeid() {
       var text = "";
       var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";

       for (var i = 0; i < 10; i++)
       text += possible.charAt(Math.floor(Math.random() * possible.length));
       return text;
}

我想手动将此字符串放到我的设计表单中,如下所示:

<div class="user_field">
        <div class="email">`enter code here`
          <%= f.label :email %><br />
      </div>
        <%= f.email_field :email, autofocus: true, autocomplete: "email" , value: <script>makeid();</script>%>
      </div> 

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

将makeid函数重写为ruby方法,并将其放入app / helpers / application_helper.rb

def makeid
  (('A'..'Z').to_a + ('a'..'z').to_a + (0..9).to_a).sample(10).join()
end

然后您可以在模板中调用该帮助程序:

<div class="user_field">
  <div class="email">`enter code here`
    <%= f.label :email %><br />
  </div>
  <%= f.email_field :email, autofocus: true, autocomplete: "email" , value: makeid() %>
</div>