有没有办法找出Ruby / Ruby on Rails中包含方法的位置?
例如,通过搜索Rails API,我知道:
link_to
来自ActionView::Helpers::UrlHelper
和pluralize
来自ActionView::Helpers::TextHelper
但是有没有办法在Ruby中找到它?即在irb
或Rails控制台?
答案 0 :(得分:3)
是:
@object.method(:method_name)
例如:
@object.method(:pluralize)
答案 1 :(得分:1)
无论您在哪种环境中,都可以使用以下方式获取源位置:
obj.method(:method).source_location
它不会完全满足您的需求,但Rails核心开发人员可以很好地正确命名空间。可以从rails控制台运行以下示例:
Time.method(:zone).source_location
["/Users/pete/.rvm/gems/ruby-1.9.2-p290@gemset/gems/activesupport-3.2.3/lib/active_support/core_ext/time/zones.rb", 9]
然后您可以转到Rails source并搜索该文件。提示:在Github上输入't'并开始输入。它会将您带到that file,您可以看到它直接在Time类上定义。