2012-06-02 18 views
6

我想創建一個cafecave控制器。Rails腳手架複數化是不正確的「咖啡館」

當我嘗試創建我的cafe使用Rails的腳手架,通過命令

軌摹支架咖啡館的名字:字符串

它獲得「咖啡館」的複數形式「洞穴「,這意味着我不能使我的caves控制器,因爲名稱已被使用。

如何讓鋼軌使用正確的複數形式?

+0

我很好奇你的應用程序,你有兩個資源 - 咖啡館和洞穴:) – Salil

+1

嗨Salil,實際上我只有咖啡館而不是洞穴。但作爲學習者,我想知道如果我必須創建洞穴 – devudilip

回答

15

您可以創建自己的變形。

添加到您的config/initializers/inflections.rb

ActiveSupport::Inflector.inflections do |inflect| 
     inflect.plural "cafe", "cafes" 
    end 

(重新啓動服務器進行此更改後,這是不需要腳手架命令本身,但它會在需要時要實際查看/使用的代碼)

現在,當你運行rails g scaffold cafe你會得到:

... 
app/views/cafes 
     create  app/views/cafes/index.html.erb 
     create  app/views/cafes/edit.html.erb 
     create  app/views/cafes/show.html.erb 
     create  app/views/cafes/new.html.erb 
     create  app/views/cafes/_form.html.erb 
etc 

這可能會幫助你:http://api.rubyonrails.org/classes/ActiveSupport/Inflector.html#method-i-inflections

+0

HI湯 非常感謝。 我也知道了, 「config/initializers/inflections.rb」那裏它 包含我們可能想要使用的代碼的註釋 – devudilip

+0

啊謝謝,我錯過了。我會更新我的答案。 – Soup

+0

+1使用ActiveSupport :: Inflector.inflections而不是ActiveSupport :: Inflector.inflections(:some_language),我正在使用它並阻止我獲得正確的結果! –