将文本的值设置为随机数字符和整数的组合?

时间:2014-03-23 08:35:26

标签: ruby random ruby-on-rails-4 textbox

以下是组合integercharacter

的随机数的代码
<%=(0...4).map { ('a'..'z').to_a[rand(26)] }.join %> <%=rand(1..2000)%>

提供如下输出:

tqzu 1664

但是,当我把它放入文本框中时;

<input type = "text" value=<%=(0...4).map { ('a'..'z').to_a[rand(26)] }.join %><%=rand(1..2000)%>  />

输出

ztgg

问题: -

how to get the value of random number into textbox with the combination of char and integer

3 个答案:

答案 0 :(得分:1)

它只处理第一部分。如果您将代码放在帮助器中,则可以在视图中调用辅助方法,并且不应该有任何问题。

答案 1 :(得分:1)

您必须将代码放入"

<input type = "text" value="<%=(0...4).map { ('a'..'z').to_a[rand(26)] }.join %> <%=rand(1..2000)%>" />

或更好:

# in helper
def code
  [(0...4).map { ('a'..'z').to_a[rand(26)] }.join,
   rand(1..2000)].join(' ')
end

# in view
<%= tag :input, :value => code %>

答案 2 :(得分:1)

在您的表单中放置代码,如此

<%=@rand_value = (0...4).map { ('a'..'z').to_a[rand(26)] }.join.to_s + rand(1..2000).to_s %>
<%= f.text_field :text, :value => @rand_value %>

或者您可以使用text_field_tag,如下所示:

<%= text_field_tag "text", @rand_value %>