2014-01-07 240 views
0

我是我的項目我有兩個表,工作和縣。每個工作記錄都可以與許多縣有關。那麼首先,這是一個多對多的關係是否正確?如何構建多對多的關係

我想在我的工作表單中有一個複選框的字段集,如果複選框被選中,job_id和checked_count_id之間的關係就會生成。

所以我想我需要一個只有job_id和county_id的連接表,是否正確?

這是我到目前爲止。到目前爲止,它會保存一份工作記錄,但不是工作/縣協會。

「counties_jobs_join」 遷移

class CreateCountiesJobsJoin < ActiveRecord::Migration 
    def change 
    create_table :counties_jobs, :id => false do |t| 
     t.integer :county_id 
     t.integer :job_id 
    end 
    end 
end 

「縣」 模式

class County < ActiveRecord::Base 
    has_and_belongs_to_many :jobs 
end 

「工作」 模式

class Job < ActiveRecord::Base 
    has_and_belongs_to_many :counties 
end 

至於我的形式,我使用simple_form,所以這裏的我有什麼複選框。

<%= simple_form_for(@job) do |f| %> 
    <fieldset> 
    <legend>Counties</legend> 
    <%= f.association :counties, :as => :check_boxes, :collection => County.all.sort, :selected => @job.counties, :label => false %> 
    </fieldset> 
    <%= f.button :submit %> 
<% end %> 

我檢查了數據庫,但它沒有在counties_jobs中創建任何記錄。任何幫助是極大的讚賞!

+0

需要params從日誌中提交創建行動 –

+0

如果你問任何問題,請提供任何詳細的問題,這樣會更容易提供解決方案。保持對你的問題的迴應:) –

+0

accep_nested_attributes_for:縣把這個模型作業 –

回答

0

我不能說你的創作出了什麼問題,但我認爲這不是你的愛情關係問題。事實上,如果你可以看到縣的複選框,我可以向你保證你的關係正在發揮作用。

可能它沒有發生的事情是,您不允許:accept_nested_attributes或不在您的創建控制器中手動執行它。