我按照Railscast #17 HABTM Checkboxes (revised)中的说明获取此代码,以使用has_and_belongs_to_many关联向项目添加服务:
<% Service.all.each do |service| %>
<%= hidden_field_tag "project[service_ids][]", nil %>
<%= check_box_tag "project[service_ids][]", service.id, @project.service_ids.include?(service.id), id: dom_id(service) %>
<%= label_tag dom_id(service), service.name %><br />
<% end %>
这是正常的,但我想使用Formtastic生成代码,以保持格式与页面的其余部分一致。视频提到Formtastic可以很容易地做到这一点,但我无法弄清楚我的生活代码。
我的猜测是做这样的事情:
<%= semantic_form_for :services do |f| %>
<%= f.input :name, :as => :check_boxes, :collection => Service.find(:all) %>
<% end %>
并生成服务列表,但选中框不会执行任何操作。我知道最后一些代码需要以某种方式链接到projects_services关联,但我不知道该怎么做。
答案 0 :(得分:9)
好吧,我试图让它变得更难。这就是我所要做的一切:
<%= f.input :services, :as => :check_boxes %>