以下是组合integer
和character
<%=(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
?
答案 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 %>