/ / Abstrahovaný spôsob, ako nájsť definíciu metódy v Rails - ruby-on-rails, ruby, methods

Abstrahovaný spôsob nájdenia definície metódy v Rails - rubínovo-na-koľajniciach, rubínových metódach

Pozadie:

Skúmal som metódu Rails number_to_currency a snažil som sa zistiť, aké jednotky sú k dispozícii pre menu a ako ich odovzdať do bloku možností. Idem na obe APIDock a Ruby on Rails APIa prehľadanie Úložisko koľajníc, Nenašiel som skutočnú definíciu metódy. Tiež som sa pokúsil zavolať metódu source_location na number_to_currency, ale toto vrátilo chybu.

Otázka:

Hľadám abstrahovaný spôsob hľadania akejkoľvek definície metódy RoR.

odpovede:

1 pre odpoveď č. 1

Každý rubínový objekt má pomenovanú metódu method, toto method-metoda môže byť zadaná meno a vráti a method-objekt obsahujúci informácie o metóde s daným menom. Zahŕňa to informácie o source_location metódy tiež.

Metódy ako number_to_currencysú pomocné metódy definované v view_context objekt, na ktorý sú vystavené vaše názory.

vidieť tohto vlákna ako ich vykonať na konzole.

Tam potom môžete preskúmať tieto metódy takto:

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]