我有模型Countries
。我有关联的模型Regions
。 Regions
belongs_to Countries
并拥有country_id字段。我的模型Objects
与Country
和Region
相关联。但是,在表单中,用户键入了他们的名字,因此我有虚拟属性country_name
和region_name
,然后我在模型中解析。因此,国家在地区的国家和地区储蓄。但是当我保存Region时,如何将country_id
分配给Region模型?我无法从模型中获取params,所以我该怎么办?
答案 0 :(得分:0)
实际上很容易。
def region_name=(name)
region = Region.find_or_create_by(:name => name, :country_id => Country.find_by(:name => self.country_name).id) if name.present?
self.region_id = region.id
end