使用Formtastic作为Rails3中habtm关联的复选框

ell*_*ren 3 forms checkbox ruby-on-rails has-and-belongs-to-many formtastic

我按照Railscast#17 HABTM Checkboxes(修订版)中的说明来获取此代码,以使用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 %>
Run Code Online (Sandbox Code Playgroud)

这是正常的,但我想使用Formtastic生成代码,以保持格式与页面的其余部分一致.视频提到Formtastic可以很容易地做到这一点,但我无法弄清楚我的生活代码.

我的猜测是做这样的事情:

<%= semantic_form_for :services do |f| %>
    <%= f.input :name, :as => :check_boxes, :collection => Service.find(:all) %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

并生成服务列表,但选中框不会做任何事情.我知道最后一点代码需要以某种方式链接到projects_services关联,但我不知道如何做到这一点.

ell*_*ren 9

好吧,我试图让它变得更难.这就是我必须做的一切:

<%= f.input :services, :as => :check_boxes %>
Run Code Online (Sandbox Code Playgroud)