我是我的项目我有两张桌子,乔布斯和郡。每个工作记录都可以与许多县相关联。首先,这是多对多的关系吗?
我想在我的工作表单中设置一个复选框字段集,如果选中复选框,则会在job_id和已检查的county_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 :(得分:0)
我不能说你的创作出了什么问题,但我认为这不是你的关系问题。事实上,如果你能看到县的复选框,我可以向你保证你的关系正在发挥作用。
可能未发生的事情是您要么不允许:accept_nested_attributes,要么不在您的创建控制器中手动执行。