max*_*der 4 activerecord ruby-on-rails model-associations
给定ActiveRecord :: Base的两个子类,如何实现一个检查是否属于另一个的函数?
def ClazzA < ActiveRecord::Base belongs_to :clazz_b enddef ClazzB < ActiveRecord::Base has_many :clazz_a end
def belongs_to? a, b ... end
谢谢!马克斯
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)
| 归档时间: |
|
| 查看次数: |
1631 次 |
| 最近记录: |