Использование Formtastic для флажков для ассоциации habtm в Rails3 - PullRequest
3 голосов
/ 24 января 2012

Я следовал инструкциям в Флажки Railscast # 17 HABTM (исправлено) , чтобы получить этот код для добавления сервисов в проект с использованием ассоциации 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, но я не знаю, как это сделать.

1 Ответ

9 голосов
/ 24 января 2012

Хорошо, я пытался сделать это сложнее, чем есть. Это все, что мне нужно было сделать:

<%= f.input :services, :as => :check_boxes %>
...