Rails基于选项的条件关联

时间:2014-06-01 19:11:07

标签: ruby-on-rails ruby ruby-on-rails-3

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

模特店属于店铺类商店有3种选择,即复古,独立标签和零售商。 如果用户选择独立标签将与独立品牌模型相关联。

1 个答案:

答案 0 :(得分:1)

您可以像平常一样为关联建模。然后,您可以使用验证来确保independent_brand适用或不适用。像这样:

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