2014-01-07 104 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或不在您的创建控制器中手动执行它。