【发布时间】:2012-02-17 04:36:00
【问题描述】:
我按照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 关联,但我不知道该怎么做。
【问题讨论】:
-
好的,我试图让它变得更难。这就是我所要做的:
<%= f.input :services, :as => :check_boxes %>
标签: ruby-on-rails forms checkbox has-and-belongs-to-many formtastic