以一种形式与多个记录相关联

时间:2014-05-13 10:14:00

标签: ruby-on-rails ruby activerecord associations nested-forms

我需要您的帮助,将多个记录(此处为国家/地区)与其他记录(此处为政策)同时链接到表单(新政策)。

我的模特喜欢:

class Retailer < ActiveRecord::Base
   has_many :orders
   has_many :policies, :dependent => :destroy
end

class Policy < ActiveRecord::Base
    has_many :countries
end

class Country < ActiveRecord::Base
    has_many :orders
    has_many :users
    has_one :platform
end

当我以多个国家的形式创建这个新政策时,我想要的是链接我的新政策。

我想在此表单中使用复选框来检查我链接的国家/地区(存储在数据库中的所有国家/地区都在那里)。

我不知道我的关联是否适合这种情况,但我有点迷失如何去做。

有人可以帮助您完成此任务并向我展示我的观点应该如何吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

  

我想要的是在我创建这个新政策的时候链接我的新政策   有多个国家的表格。

您想在belongs_to :country模型中设置policy而不是has_many :countries

class Policy < ActiveRecord::Base
    belongs_to :country
end
您的has_many :policies模型中的

country

class Country < ActiveRecord::Base
    has_many :orders
    has_many :users
    has_one :platform
    has_many :policies
end
  

我想在此表单中使用复选框来检查我链接的国家/地区   (存储在DB中的所有国家都在那里)。

为此,您可以使用 collection_check_boxes 。设置如上所述(belongs_to :country),您将获得country_id collection_check_boxes check/uncheck 1}}到class Policy < ActiveRecord::Base has_and_belongs_to :countries end class Country < ActiveRecord::Base has_many :orders has_many :users has_one :platform has_and_belongs_to_many :policies end 多个国家/地区。

希望它有所帮助!

<强>更新

我可能错了关联。在你的情况下,它是 has_and_belongs_to_many

{{1}}