盖伊 这只是ruby中的简单形式
<%= form_tag("/page/create", method: "get") do %>
<% 5.times do %>
<%= text_field_tag :Name,(params[:Name]), size: 10 %><br>
<% end %>
<%= submit_tag("send") %>
<% end%>
为什么在我的控制下@Name=params['Name']
不能与我合作?
总是不给我任何东西?
答案 0 :(得分:1)
您多次发布相同的参数。这导致空params['Name']
,除了您填写最后一个输入字段。
大多数框架使用相同的名称丢弃多个参数,仅使用参数列表中的最后一个参数。
如果要将一组字段传递给控制器,请使用如下所示的尾部开合方括号命名字段:text_field_tag 'Name[]'
。这使得Rails使用输入值的数组填充params['Name']
。
请注意,:Name[]
不是Ruby中的有效符号,因此您必须使用String作为text_field_tag
帮助程序的第一个参数。
答案 1 :(得分:0)
我想你在这里有一些事情发生了:
将<%= text_field_tag :Name,(params[:Name]), size: 10 %><br>
更改为<%= text_field_tag :Name, size: 10 %><br>
可能是向前迈进的第一步。