0
我試圖建立一個應用程序,其中有一個「作業」模型可以與「標記」模型相關聯,其中關聯使用連接表進行跟蹤。我想找到它可以使用基於資源的form_for在表單中添加複選框,以允許用戶選擇與作業關聯的標籤。標籤列表由管理員設置,因此它們不會創建新標籤,而是創建關聯。我不知道如何去做。大多數例子使用博客場景,文章has_many評論,他們正在創建新的評論,並且與我試圖做的非常不同。REST風格form_for通過連接表嵌套資源
型號:
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
ERB:
<%= form_for [Job.new], :remote => true do |form| %>
...
<% form.label ???????? %>
<% form.check_box ???????? %>
...
<% end %>
這甚至可以通過基於資源的form_for?我一直無法找到涉及此類資源關係的任何示例。
謝謝,這樣做更有意義。我迷路了,尋找一種方法來做form.check_box而不是check_box_tag,並且當兩者之間沒有建立任何關係時,如何迭代這組標籤,我感到困惑。 Thaks爲鏈接! – Reuben
沒問題。如果這回答你的問題,請將其標記爲正確答案。 – Mirko
對於那些使用Railscasts訂閱的用戶,修改了HABTM複選框。 http://railscasts.com/episodes/17-habtm-checkboxes-revised –