如何在rails中找到关联的源位置

时间:2015-09-16 17:31:13

标签: ruby-on-rails ruby ruby-on-rails-4 spree

对于常规方法,我可以调用obj.method(:name).source_location并且效果很好,但如果我为关联执行此操作,source_location将我指向.../activerecord-4.2.0/lib/active_record/associations/builder/association.rb是否有类似的关联?

我正在与Spree一起使用一堆扩展程序,并且有很多地方可以定义它,我可以grep我的方式,但想知道是否有一个直接的方式比如source_location

1 个答案:

答案 0 :(得分:2)

有一种方法reflect_on_association可能对您有帮助。

Customer.reflect_on_association(:accounts).class_name #=> Account
klass = 'Account'.constantize
klass.method(:my_method).source_location