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ď č. 1Kaž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_currency
sú 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]