【发布时间】:2014-05-22 18:38:44
【问题描述】:
我有一个具有以下关联的表单:
课程.rb
has_and_belongs_to_many :skills
技能.rb
has_and_belongs_to_many :courses
我想做的是让想要添加新Course 的人从他选择的类别中选择所有技能,并能够通过使用复选框来添加它们。在我这样做的视图中:
查看
<%= form_for(@course) do |f| %>
<% @skills.each do |s| %>
<%= f.check_box :value => s.id %> <%= s.title %><br />
<% end %>
<% end %>
很遗憾,这不起作用,我收到以下错误:
undefined method `{:value=>9}' for #<Course:0x00000004ce0208>
您能帮我解决我的问题吗?
谢谢。
【问题讨论】:
-
试试这样
<%= check_box_tag "course[skill_ids][]", s.id, current_skill_ids.include?(s.id) %> -
在此之前,您将其设置为这样
<% current_skill_ids = @course.skill_ids %>。 -
这让我明白了,谢谢。但是它们没有保存在
courses_skills表中,您知道什么可以阻止它们吗?
标签: ruby-on-rails ruby forms has-and-belongs-to-many