我有广告,可以有女士,但前提是类型是一个“俱乐部”。
有没有铁轨的办法?尤其是不创造女性对象?
如果一位女士的父母是type=club,那么在创建之前,我需要检查她的对象吗?

class Advertisement < ActiveRecord::Base

  validates_inclusion_of :type, in: %w(club lady)

  has_many :ladies, :dependent=>:destroy

  #only have ladies if the club =
  def ladies
    return nil unless type == "club"
    super
  end

end

我用的是Rails3.2。

最佳答案

要做到这一点,Rails的方法是sti:

 class Advertisement < ActiveRecord::Base
 end

 class LadyAd < Advertisement
   has_many :ladies, :dependent=>:destroy
 end

只有女人才有女人。

10-07 14:13