我刚刚才知道我不能在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