2009-12-30 96 views

回答

9

这是相当凌乱在你的rake任务延长的ActionView ::帮手 - 这主要包括在耙所有辅助方法任务。

ActionController::Base.helpers.pluralize(5, 'dog')

如果你没有一个计数,你只是想一个单词变复数:

ActiveSupport::Inflector.pluralize('dog')

3

添加的ActiveSupport和ActionPack的作为依赖可能是重手简单地有一个文本助手的便利 - 除非你的Rake文件已加载Rails的 - 但这里有一个例子Rake文件:

require 'rubygems' 
require 'activesupport' 
require 'actionpack' 
require 'action_view/helpers' 

extend ActionView::Helpers 

task :plural do 
    puts "I have #{pluralize(5, "dog")}" 
    puts "You have #{pluralize(1, "dog")}" 
end 
+0

非常感谢你:) – 2009-12-31 01:15:02

3

在Rails 3 :

require 'active_support/inflections' 
require 'action_view/helpers' 
extend ActionView::Helpers 

task :plural do 
    puts "I have #{pluralize(5, "dog")}" 
    puts "You have #{pluralize(1, "dog")}" 
end 
1

如果你只是想串的多元化的版本,你可以调用它的pluralize的情况下直接在你的rake任务加载额外的东西:

"dog".pluralize 

然后,您可以只用像这样替换以复数帮手:

word = "dog" 
if count == 1 
    plural = "1 #{word}" 
else 
    plural = "#{count} #{word}".pluralize 
end 
puts plural