【问题标题】:Change hidden_field_tag name更改 hidden_​​field_tag 名称
【发布时间】:2017-01-05 09:01:38
【问题描述】:

_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::Error: 字段 'subject_module_id' 没有默认值:INSERT INTO term_questions

参数传递喜欢:

"subjectModuleId0"=>"65",  "subjectModuleId1"=>"66", "subjectModuleId2"=>"67",

在我的控制器中

@question = TermQuestion.new
@question.subject_module_id = params[:subjectModuleId]

如何将名称更改为 subject_module_id。

谢谢。

【问题讨论】:

  • 使用接受值数组的'subject_module_id[]'

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 ruby-on-rails-3.2


【解决方案1】:

将数组值传递给隐藏字段

  <%= 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]

【讨论】:

  • "subject_module_id"=>["65 66 67", "65 66 67", "65 66 67"] 它的回报是这样的。 @Deepak Mahakale
  • 可能是因为你还在循环@subjectmodulelists
猜你喜欢
  • 2011-07-14
  • 2012-04-15
  • 2011-12-05
  • 1970-01-01
  • 2015-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多