ruby-on-rails - 如何在 Rails 中找到关联的源位置

标签 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 这样的直接方法/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/

相关文章:

ruby-on-rails - 如何正确处理 Rails 中的 ActiveRecord::RecordNotUnique

ruby-on-rails - 将 ruby​​ 从 1.8.7 升级到 1.9.2 后的本地服务器错误(使用 Rails 3.1.1)

ruby-on-rails - 如何让 unicorn 在路径下运行 Rails 3.0 应用程序?

ruby-on-rails - Rails 测试 validates_associated 模型规范

mysql - 如何控制 Rails 4 中连接记录的顺序

ruby-on-rails - 网站的 Web 前端缓存最佳实践?

ruby - 在 Ruby 中,如何在从文字创建的核心类的新对象中初始化实例变量

mysql - 使用 ActiveRecord 延迟删除 MySQL 中的临时表

ruby - Net::HTTP 对 HTTPS 请求的响应极其缓慢

ruby-on-rails-4 - 所有 Rails 项目 - Bundler 使用为不同 gem 创建的 binstub