jpw*_*ynn 36 ruby-on-rails pluralize
它似乎pluralize
只适用于视图 - 我的模型是否也可以使用某种方式pluralize
?
(我的模型中有方法为没有进入视图的用户返回消息字符串 - 例如通过SMS文本消息发送的消息.)
Tom*_*ssi 65
而不是扩展的东西,我只是这样:
ActionController::Base.helpers.pluralize(count, 'mystring')
Run Code Online (Sandbox Code Playgroud)
希望这有助于其他人!
Sam*_*uby 54
将此添加到您的模型:
include ActionView::Helpers::TextHelper
Run Code Online (Sandbox Code Playgroud)
Edw*_*son 17
我最喜欢的方法是在我的应用程序中创建一个TextHelper,它将这些作为类方法提供给我的模型:
应用程序/佣工/ text_helper.rb
module TextHelper
extend ActionView::Helpers::TextHelper
end
Run Code Online (Sandbox Code Playgroud)
应用程序/模型/ any_model.rb
def validate_something
...
errors.add(:base, "#{TextHelper.pluralize(count, 'things')} are missing")
end
Run Code Online (Sandbox Code Playgroud)
在你的模型中包含ActionView :: Helpers :: TextHelper可以工作,但是你也可以使用许多不需要的辅助方法来丢弃你的模型.
在模型中复数方法的来源也不是很清楚.这种方法使其明确 - TextHelper.pluralize
.
最后,您不必为每个想要复数的模型添加一个包含; 你可以直接在TextHelper上调用它.