_form.html.erb
<% @subjectmodulelists.each_with_index do |modules,index| %>
<%= hidden_field_tag 'subjectModuleId'+index.to_s, modules.subject_module_id%><%= f.submit class:"btn btn-primary" %>
<% end %>
我在部分表单实际字段名称中的上述代码是我的数据库中的subject_module_id。这里我改为'subjectModuleId'+ index.to_s来存储数据数组。
我有以下错误。
Mysql2 ::错误:字段'subject_module_id'没有默认值:INSERT INTO
term_questions
Params传递赞:
"subjectModuleId0"=>"65", "subjectModuleId1"=>"66", "subjectModuleId2"=>"67",
在我的控制器中
@question = TermQuestion.new
@question.subject_module_id = params[:subjectModuleId]
我如何将名称更改为subject_module_id。
感谢。
答案 0 :(得分:0)
将数组值传递给隐藏字段
<%= hidden_field_tag 'subject_module_id[]', @subjectmodulelists.map(&:subject_module_id) %>
<%= f.submit class:"btn btn-primary" %>
这样你就会得到像
这样的参数{ "subject_module_id"=>[65, 66, 67] }
然后你可以分配
@question.subject_module_id = params[:subject_module_id]