我剛剛纔知道我不能在rails控制檯或IRB中使用'pluralize'方法。有什麼我不明白的嗎?爲什麼我不能在rails控制檯中使用pluralize方法?
2.3.0 :001 > pluralize
NameError: undefined local variable or method `pluralize' for main:Object
它在Ruby或視圖文件中使用時會被很好地解釋。爲什麼我不能在軌道控制檯中使用它?
我剛剛纔知道我不能在rails控制檯或IRB中使用'pluralize'方法。有什麼我不明白的嗎?爲什麼我不能在rails控制檯中使用pluralize方法?
2.3.0 :001 > pluralize
NameError: undefined local variable or method `pluralize' for main:Object
它在Ruby或視圖文件中使用時會被很好地解釋。爲什麼我不能在軌道控制檯中使用它?
的pluralize
方法在ActionView::Helpers::TextHelper
定義。要使用它在軌道控制檯,你需要把它列入
$ rails console
2.3.3 :008 > include ActionView::Helpers::TextHelper
2.3.3 :009 > pluralize 2, 'man'
=> "2 men"
或致電他們通過輔助變量
$ rails console
2.3.3 :0010 > helper.pluralize(2, 'man')
=> "2 men"
當它在ruby或view文件中使用時,它會被很好地解釋。爲什麼我不能在軌道控制檯中使用它?
因爲它意味着從視圖中使用,而不是從控制檯使用(通過定義爲an action view helper)。
但並非所有的希望都失去了。您可以在控制檯中訪問幫助程序方法可以!
helper.pluralize(...)
應該成爲通過查看文件明確:http://apidock.com/rails/ActionView/Helpers/TextHelper/pluralize
pluralize
定義上TextHelper
,這意味着它是提供給你的幫助,並通過意見的ActionView。
但是,您可以使用它在軌道控制檯這樣的:
ActionController::Base.helpers.pluralize(...)
或者通過包括TextHelper
:在Rails的視圖中使用
include ActionView::Helpers::TextHelper
所以,你想變複數_what_? 'main'? – mudasobwa
@mudasobwa:我認爲(與你一樣)複數是一種字符串方法。但它不是:) –
@SergioTulentsev geez ... – mudasobwa