Ruby on rails 基于选项的Rails条件关联

Ruby on rails 基于选项的Rails条件关联,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,我试图找出如何根据用户选择的选项有条件地关联两个表。例如: 模型店属于店类,店类有三种选择,即复古、独立品牌和零售商。 如果用户选择“独立标签”,则将与独立品牌模型关联。您可以像普通模式一样对关联进行建模。然后,您可以使用验证来确保适当地应用或不应用独立品牌。大概是这样的: class IndependentBrand < ActiveRecord::Base ... end class Shop < ActiveRecord::Base belongs_to :inde

我试图找出如何根据用户选择的选项有条件地关联两个表。例如:

模型店属于店类,店类有三种选择,即复古、独立品牌和零售商。
如果用户选择“独立标签”,则将与独立品牌模型关联。

您可以像普通模式一样对关联进行建模。然后,您可以使用验证来确保适当地应用或不应用
独立品牌。大概是这样的:

class IndependentBrand < ActiveRecord::Base
  ...
end

class Shop < ActiveRecord::Base
   belongs_to :independent_brand

   validates :independent_brand, {
      :presence => {if: :independent_brand?},
      :absence => {unless: :independent_brand?}
   }

   def independent_brand?
      self.kind == "independent_brand"
   end
end
class独立品牌{if::independent_brand?},
:缺席=>{除非::独立品牌?}
}
def独立品牌?
self.kind==“独立品牌”
结束
结束

有些实例无法关联,有些实例则无法关联。但通常情况下,这是可以找到的。只需将
商店
独立品牌
关联即可。如果
shop.kind
不是
独立标签
,则可以忽略代码中的关联。即使已定义关联,也没有理由必须填充关联。抱歉,gwcoffey!我没有得到它,所以我不能使用真/假方法?我添加了一个使用正常关联的答案,然后验证以确保有/没有合适的关联品牌。如果我不明白你的意思,请告诉我。