/ / Streszczenie w celu znalezienia definicji metody w Railsach - ruby-on-rails, ruby, metody

Abstrakcyjny sposób na znalezienie definicji metody w Railsach - ruby-on-rails, ruby, metody

Tło:

Badałem metodę Railsowa number_to_currency, próbując znaleźć jednostki, które są dostępne dla waluty i jak przekazać je do bloku opcji. Kontynuacja obu APIDock i Ruby on Rails APIi przeszukiwanie Repozytorium Rails, Nie znalazłem rzeczywistej definicji metody. Próbowałem również wywołać metodę source_location na number_to_currency, ale to zwróciło błąd.

Pytanie:

Szukam abstrakcyjnego sposobu na znalezienie dowolnej definicji metody RoR.

Odpowiedzi:

1 dla odpowiedzi № 1

Każdy obiekt ruby ​​ma nazwę method. To method-metodę można podać nazwę, a ona zwróci a method-obiekt zawierający informacje o metodzie o podanej nazwie. Obejmuje to informacje o source_location metody również.

Metody takie jak number_to_currencysą metodami pomocniczymi zdefiniowanymi w view_context obiekt, na którym są wybierane twoje poglądy.

Widzieć ten wątek o sposobie ich wykonywania na konsoli.

Tam możesz następnie zbadać następujące metody:

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]