Rails脚手架多元化对于"咖啡馆"是不正确的

dev*_*lip 6 ruby ruby-on-rails ruby-on-rails-3

我想创建一个cafe和一个cave控制器.

当我尝试cafe通过命令创建我的使用rails脚手架

rails g scaffold cafe name:string

它将"咖啡馆"的复数形式推导为"洞穴",这意味着我不能制作我的caves控制器,因为名称已被使用.

如何使轨道使用正确的复数?

Sou*_*oup 15

您可以创建自己的变形.

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

    ActiveSupport::Inflector.inflections do |inflect|
        inflect.plural "cafe", "cafes"
    end
Run Code Online (Sandbox Code Playgroud)

(进行此更改后重新启动服务器.对于脚手架命令本身不需要这样,但是当您想要实际查看/使用代码时,它是必需的)

现在,当你跑步时,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
Run Code Online (Sandbox Code Playgroud)

这可能对您有所帮助:http://api.rubyonrails.org/classes/ActiveSupport/Inflector.html#method-i-inflections