对于常规方法,我可以调用 obj.method(:name).source_location
并且效果很好,但是如果我为关联这样做,source_location
会指向我到 .../activerecord-4.2.0/lib/active_record/associations/builder/association.rb
有没有类似的关联?
我正在使用 Spree有一堆扩展并且有太多地方可以定义它,我可以 grep
我的方式,但想知道是否有像 source_location
这样的直接方法/p>
最佳答案
有一个方法reflect_on_association
这可能对您有所帮助。
Customer.reflect_on_association(:accounts).class_name #=> Account
klass = 'Account'.constantize
klass.method(:my_method).source_location
关于ruby-on-rails - 如何在 Rails 中找到关联的源位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32615077/