如何检查一个ActiveRecord类是否属于另一个

max*_*der 4 activerecord ruby-on-rails model-associations

给定ActiveRecord :: Base的两个子类,如何实现一个检查是否属于另一个的函数?

def ClazzA < ActiveRecord::Base
  belongs_to :clazz_b
end

def ClazzB < ActiveRecord::Base has_many :clazz_a end

def belongs_to? a, b ... end

谢谢!马克斯

zet*_*tic 5

  def belongs_to?(a,b)
    sym = b.to_s.downcase.to_sym
    a.reflect_on_all_associations(:belongs_to).map(&:name).include?(sym)
  end

> belongs_to?(ClazzA,ClazzB) # true
> belongs_to?(ClazzB,ClazzA) # false
Run Code Online (Sandbox Code Playgroud)