2014-01-25 202 views
0

我有3個表格Jobs,Countyies and Countyisation。Rails 4多對多關係

縣有:

has_many :countyizations 
has_many :jobs, :through => :countyizations 

Countyization有:

belongs_to :county 
belongs_to :job 

工作有:

has_many :countyizations 
has_many :counties, :through => :countyizations 

我使用simple_forms並在我的創建/編輯表單以下。

<%= f.association :counties, :as => :check_boxes, :collection => County.all.sort, :selected => @job.counties, :label => false %> 

這並生成所有我在數據庫的縣複選框,我可以檢查他們,但是當我創建或編輯記錄「countyization」協會不走。我需要添加一些東西到我的作業控制器的「params.require」部分嗎?我一直在爲此工作好幾天,而且非常沮喪。任何幫助都非常感謝!

回答

0

您需要在兩個模型(工作和縣)之間實際建立控制器之間的關係。

在jobs_controller.rb

添加

def create 
    @job = Job.new(job_params) 
    @job.counties.build 
    if @job.save 
     .. 
    else 
     .. 
    end 
end 

private 

    def job_params 
    params.require(:job).permit(:your_param_1, :your_param_2) 
    end