Ruby on rails 在Rails中查找方法定义的抽象方法

Ruby on rails 在Rails中查找方法定义的抽象方法,ruby-on-rails,ruby,methods,Ruby On Rails,Ruby,Methods,背景: 我一直在研究Rails方法number_to_currency,试图找到该货币可用的单位以及如何将它们传递到options块。继续进行和,并搜索,我没有找到实际的方法定义。我还尝试将数字\u上的source\u location方法调用到\u currency,但这返回了一个错误 问题: 我正在寻找一种抽象的方法来查找任何RoR方法定义。每个ruby对象都有一个名为method的方法。 此方法-方法可以传递名称,它将返回一个方法-对象,该对象包含关于具有给定名称的方法的信息。 这还包括有

背景:

我一直在研究Rails方法number_to_currency,试图找到该货币可用的单位以及如何将它们传递到options块。继续进行和,并搜索,我没有找到实际的方法定义。我还尝试将数字\u上的source\u location方法调用到\u currency,但这返回了一个错误

问题:


我正在寻找一种抽象的方法来查找任何RoR方法定义。

每个ruby对象都有一个名为
method
的方法。 此
方法
-方法可以传递名称,它将返回一个
方法
-对象,该对象包含关于具有给定名称的方法的信息。 这还包括有关方法的
源位置的信息

number\u to\u currency
这样的方法是在视图上下文对象上定义的辅助方法,在该对象上执行视图

有关如何在控制台上执行这些操作的信息,请参见

然后,您可以像这样检查这些方法:

irb(main):001:0> helper.number_to_currency 3.14
=> "3,14 €"
irb(main):002:0> helper.method(:number_to_currency)
=> #<Method: ActionView::Base(ActionView::Helpers::NumberHelper)#number_to_currency>
irb(main):003:0> helper.method(:number_to_currency).source_location
=> ["/Users/at/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/actionview-4.1.5/lib/action_view/helpers/number_helper.rb", 107]
irb(main):001:0>helper.number\u到\u货币3.14
=> "3,14 €"
irb(主):002:0>helper.method(:数字到货币)
=> #
irb(主):003:0>helper.method(:编号到货币)。来源位置
=>[“/Users/at/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/actionview-4.1.5/lib/action\u view/helpers/number\u helper.rb”,107]