如何在 rails 中找到关联的源位置
How can I find the source location for a association in rails
对于常规方法,我可以调用 obj.method(:name).source_location
并且效果很好,但是如果我对关联这样做,source_location
会指向 .../activerecord-4.2.0/lib/active_record/associations/builder/association.rb
是否有类似的关联?
我正在使用 Spree 和一堆扩展,可以定义它的地方太多了,我可以 grep
我的方法,但想知道是否有直接的像 source_location
这样的前进方式
有一种方法reflect_on_association
可能对您有所帮助。
Customer.reflect_on_association(:accounts).class_name #=> Account
klass = 'Account'.constantize
klass.method(:my_method).source_location
对于常规方法,我可以调用 obj.method(:name).source_location
并且效果很好,但是如果我对关联这样做,source_location
会指向 .../activerecord-4.2.0/lib/active_record/associations/builder/association.rb
是否有类似的关联?
我正在使用 Spree 和一堆扩展,可以定义它的地方太多了,我可以 grep
我的方法,但想知道是否有直接的像 source_location
有一种方法reflect_on_association
可能对您有所帮助。
Customer.reflect_on_association(:accounts).class_name #=> Account
klass = 'Account'.constantize
klass.method(:my_method).source_location