Ruby on rails 在erb-rails中保存复选框值
我有一个嵌套表单,它将信息保存到三个不同的模型中。表单的一个部分使用复选框,应该保存值1-5。但是,即使选中这些框,表单也会返回值0。我尝试了几种不同的代码变体来设置检查值。任何帮助都将不胜感激。表格代码的一部分如下所示:Ruby on rails 在erb-rails中保存复选框值,ruby-on-rails,ruby,forms,checkbox,nested,Ruby On Rails,Ruby,Forms,Checkbox,Nested,我有一个嵌套表单,它将信息保存到三个不同的模型中。表单的一个部分使用复选框,应该保存值1-5。但是,即使选中这些框,表单也会返回值0。我尝试了几种不同的代码变体来设置检查值。任何帮助都将不胜感激。表格代码的一部分如下所示: <%= form_for @newinstructor do |f|%> <%= f.text_field :first_name %> <%= f.text_field :last_name %> <%= f.fiel
<%= form_for @newinstructor do |f|%>
<%= f.text_field :first_name %>
<%= f.text_field :last_name %>
<%= f.fields_for :through_ats do |tag_field| %>
<%= label_tag("What categories does your activity fit into?") %><br>
<%= label_tag(:tag, "Cooking") %>
<%= tag_field.check_box(:tag_id, :value => 1) %>
<%= label_tag(:tag, "Art") %>
<%= tag_field.check_box(:tag_id, :value => 2) %>
<%= label_tag(:tag, "Music") %>
<%= tag_field.check_box(:tag_id, :value => 3) %>
<%= label_tag(:tag, "Outdoors") %>
<%= tag_field.check_box(:tag_id, :value => 4) %>
<%= label_tag(:tag, "Food") %>
<%= tag_field.check_box(:tag_id, :value => 5) %>
<% end %>
<%= f.submit %>
<% end %>
1) %>
2) %>
3) %>
4) %>
5) %>
您是否允许参数中的标记id
params.require(:instructor).permit(:name,
through_ats_attributes: [:id, :tag_id, :_destroy]
)
为了解决这个问题,我必须在tag_field.checkbox中唯一地定义每个符号,然后在params中单独要求/允许它们 因此,在我提出的形式中:
<%= label_tag("Please check off the categories your activity fits into.") %><br>
<%= label_tag(:tag, "Cooking") %>
<%= tag_field.check_box(:cooking) %>
<%= label_tag(:tag, "Art") %>
<%= tag_field.check_box(:art) %>
而不是:
params.require(:instructor).permit(through_ats: [:id, :tag_id])
我应该在哪个文件中允许在params中使用tag_id?我只是尝试将它添加到控制器中的方法中,但没有成功。在``instructors\u controller.rb``或类似的东西中,因为我不知道您的模型名称。
params.require(:instructor).permit(through_ats: [:cooking, :art, :music, :outdoors, :food])
params.require(:instructor).permit(through_ats: [:id, :tag_id])