2012-06-02 14 views
6

Chcę utworzyć kontroler cafe i cave.Pluralizacja rusztowania szyn jest nieprawidłowa dla "kawiarni"

Kiedy próbuję utworzyć mój cafe pomocą szyn rusztowania za pomocą polecenia

szyny g rusztowania nazwę cafe: string

Jest wyprowadzania mnogiej „cafe” jako „jaskiniach ", co oznacza, że ​​nie mogę utworzyć kontrolera caves, ponieważ nazwa jest już używana.

Jak wykonać szynę z prawidłową pluralizacją?

+0

Jestem ciekawa twojej aplikacji, w której masz dwa zasoby - kawiarnie i jaskinie :) – Salil

+1

Witam salil, właściwie mam tylko kawiarnie, a nie jaskinie. ale jako uczeń chciałem wiedzieć, co jeśli mam stworzyć jaskinie – devudilip

Odpowiedz

15

Możesz tworzyć własne przeglądy.

dodać go do config/initializers/inflections.rb

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

(Ponowne uruchomienie serwera po wprowadzeniu tej zmiany. Nie jest to wymagane dla komendy rusztowania sobie lecz będzie ona wymagana, gdy chcesz, aby rzeczywiście zobaczyć/korzystać z kodu)

teraz po uruchomieniu rails g scaffold cafe dostaniesz:

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

To może ci pomóc: http://api.rubyonrails.org/classes/ActiveSupport/Inflector.html#method-i-inflections

+0

HI soup dziękuję bardzo. i także dowiedziałem się o, "config/initializers/inflections.rb" tam to zawiera komentarz z kodem, że możemy chcieć użyć – devudilip

+0

Ah dzięki, tęskniłem za tym. Zaktualizuję moją odpowiedź. – Soup

+0

+1 za korzystanie z ActiveSupport :: Inflector.inflections zamiast ActiveSupport :: Inflector.inflections (: some_language), z którego korzystałem i uniemożliwił mi uzyskanie prawidłowego wyniku! –