Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Rails scaffolding pluralisation is incorrect for "cafe"

I want to create a cafe and a cave controller.

When I try to create my cafe using rails scaffolding, via the command

rails g scaffold cafe name:string

It is deriving the plural form of "cafe" as "caves", which means I can't make my caves controller since the name is already used.

How can I make rails use the correct pluralisation?

like image 568
devudilip Avatar asked Jun 02 '12 10:06

devudilip


1 Answers

You can create your own inflections.

Add this to your config/initializers/inflections.rb

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

(Restart your server after making this change. This is not required for the scaffolding command itself but it will be required when you want to actually view/use the code)

Now when you run rails g scaffold cafe you'll get:

...
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

This may help you: http://api.rubyonrails.org/classes/ActiveSupport/Inflector.html#method-i-inflections

like image 131
Soup Avatar answered Nov 15 '22 06:11

Soup