我刚刚知道我无法使用这种方法'复数'在rails控制台或IRB中。有什么我不明白的吗?
2.3.0 :001 > pluralize
NameError: undefined local variable or method `pluralize' for main:Object
在ruby或view文件中使用它时会得到很好的解释。为什么我不能在rails控制台中使用它?
答案 0 :(得分:4)
Rails视图中使用的pluralize
方法在ActionView::Helpers::TextHelper
中定义。要在rails控制台中使用它,您需要包含它
$ 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"
答案 1 :(得分:2)
在ruby或view文件中使用它时会得到很好的解释。为什么我不能在rails控制台中使用它?
因为它意在从视图中使用,而不是从控制台使用(通过定义为an action view helper)。
但并非所有希望都失去了。您可以访问控制台中的帮助方法!
helper.pluralize(...)
答案 2 :(得分:2)
通过查看文档:{{3}}
,应该会清楚 pluralize
在TextHelper
上定义,这意味着它可以通过ActionView提供给您的帮助和观看。
但是你可以在rails控制台中使用它:
ActionController::Base.helpers.pluralize(...)
或者包括TextHelper
:
include ActionView::Helpers::TextHelper