Ruby on rails 在Rails 5的表单中放入哈希
在过去的几个小时里,我一直在尝试,但没有成功。 我有一个变量保存哈希值,还有一个变量保存字符串数组。 因此: 如果我这样做Ruby on rails 在Rails 5的表单中放入哈希,ruby-on-rails,forms,hash,Ruby On Rails,Forms,Hash,在过去的几个小时里,我一直在尝试,但没有成功。 我有一个变量保存哈希值,还有一个变量保存字符串数组。 因此: 如果我这样做 @marks.each do |data| puts data.name end 输出将是字符串“data1”、“data2”等等 我想制作一个表单,为@object.values[“data1”]、@object.values[“data2”]等赋值,但制作表单时: <%= form_for(@object) do |f| %> <% @mar
@marks.each do |data|
puts data.name
end
输出将是字符串“data1”、“data2”等等
我想制作一个表单,为@object.values[“data1”]、@object.values[“data2”]等赋值,但制作表单时:
<%= form_for(@object) do |f| %>
<% @marks.each do |data| %>
<%= f.label data.name %>
<%= f.text_field "values[" + data.name + "]", @object.values[data.name]%>
<% end %>
<%= f.submit "Create" %>
<% end %>
我得到这个错误:
参数数目错误(给定3,应为1..2)
如果删除“@object.values[data.name]”,则会出现以下错误:
“对象:0x007fa04e2b8108>的未定义方法”
在这里,我尝试了一些变体和其他方法来解决一些类似的问题,但都没有成功……我真的想不出正确的方法来解决这个问题。我想我理解您正在尝试做什么。您可能想使用
字段来处理
<%= form_for(@object) do |f| %>
<%= fields_for :values do |vf| %>
<% @marks.each do |data| %>
<%= vf.label data.name %>
<%= vf.text_field data.name, value: @object.values[data.name]%>
<% end %>
<% end %>
<%= f.submit "Create" %>
<% end %>
看看嵌套表单:我一定会的。非常感谢!
<%= form_for(@object) do |f| %>
<%= fields_for :values do |vf| %>
<% @marks.each do |data| %>
<%= vf.label data.name %>
<%= vf.text_field data.name, value: @object.values[data.name]%>
<% end %>
<% end %>
<%= f.submit "Create" %>
<% end %>