2009-12-30 91 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