Я пытаюсь создать приложение, в котором есть модель для «Заданий», которую можно связать с моделью «Теги», где ассоциации отслеживаются с помощью таблицы соединений. Я хочу найти, что в форме можно использовать флажки form_for add на основе ресурсов, чтобы позволить пользователю выбирать, с какими тегами связано задание. Список тегов устанавливается администратором, поэтому они не создают новые теги, а создают ассоциации. И я не могу понять, как это сделать. В большинстве примеров используется сценарий блога, где статья has_many комментирует, создает новые комментарии и сильно отличается от того, что я пытаюсь сделать.
Модель:
class Job < ActiveRecord::Base
has_and_belongs_to_many :tags, :join_table => 'j_map_tags', :class_name => 'Tag', :foreign_key => 'job_id', :association_foreign_key => 'tag_id'
end
class Tag < ActiveRecord::Base
has_and_belongs_to_many :jobs, :join_table => 'j_map_tags', :class_name => 'Job'
end
class JMapTag < ActiveRecord::Base
belongs_to :job
belongs_to :tag
end
Миграция таблицы присоединения:
class CreateJMapTags < ActiveRecord::Migration
def self.up
create_table :j_map_tags, :id => false do |t|
t.column :job_id, :integer
t.column :tag_id, :integer
end
end
def self.down
drop_table :j_map_tags
end
end
Маршруты:
resources :jobs, :module => 'manager', :constraints => lambda { |request| request.xhr? } do
resources :tags
end
Еврорадио:
<%= form_for [Job.new], :remote => true do |form| %>
...
<% form.label ???????? %>
<% form.check_box ???????? %>
...
<% end %>
Возможно ли это даже через ресурсную форму form_for? Я не смог найти ни одного примера, связанного с этим типом взаимосвязи ресурсов.