2012-08-13 18 views
15

Mam model o nazwie ActiveDns. Kiedy uruchamiamSzyny - nazwa modelu kończy się S

rails g scaffold_controller ActiveDns 

dostaję komunikat

mnoga wersję modelu wykryte przy użyciu wersji liczbie pojedynczej. Zastąp za pomocą - force-plural.

Teraz, kontroler i widoki są generowane udając, że jest w liczbie pojedynczej i mnogiej ActiveDn jest ActiveDns, a ja się głupie rzeczy jak link_to new_dn_path. --force-plural argument nie wydaje się, aby to naprawić:

rails g scaffold_controller ActiveDns --force-plural 

nadal prowadzi kontrolerów wykorzystujących zmienne o nazwach @active_dn i poglądów za pomocą new_dn_path, z szynami 3.2.3. Usuwam pliki pomiędzy próbami używając rails d scaffold_controller ActiveDns.

Co to jest właściwy sposób?

+2

Zamiast usuwania błędnych plików ręcznie, można też po prostu 'szyny zniszczyć scaffold_controller ActiveDns' –

Odpowiedz

14

Jaki jest właściwy sposób to zrobić?

Używam inflections do document niezliczonych podmiotów.

config/inicjalizatory/inflections.rb

ActiveSupport::Inflector.inflections do |inflect| 
    inflect.uncountable "ActiveDns" 
end 

Następnie otrzymasz:

$ rails g scaffold_controller ActiveDns 
     create app/controllers/active_dns_controller.rb 
     invoke erb 
     create app/views/active_dns 
     create app/views/active_dns/index.html.erb 
     create app/views/active_dns/edit.html.erb 
     create app/views/active_dns/show.html.erb 
     create app/views/active_dns/new.html.erb 
     create app/views/active_dns/_form.html.erb 
     invoke test_unit 
     create test/functional/active_dns_controller_test.rb 
     invoke helper 
     create app/helpers/active_dns_helper.rb 
     invoke test_unit 
     create  test/unit/helpers/active_dns_helper_test.rb 

Czy tego chciałeś?

11

testowałem z szyn-3,2 (chyba powinno działać z Rails 3.x)

Otwórz config/initializers/inflections.rb i dodać regułę:

ActiveSupport::Inflector.inflections do |inflect| 
    inflect.irregular 'dns', 'dnses' 
end 

i generować kontroler

rails g scaffold_controller ActiveDns 

I dodaj trasy do pliku config/routes.rb

resources :active_dnses 

Następnie powinieneś zobaczyć:

$ rake routes 

    active_dnses GET /active_dnses(.:format)   active_dnses#index 
       POST /active_dnses(.:format)   active_dnses#create 
new_active_dns GET /active_dnses/new(.:format)  active_dnses#new 
edit_active_dns GET /active_dnses/:id/edit(.:format) active_dnses#edit 
    active_dns GET /active_dnses/:id(.:format)  active_dnses#show 
       PUT /active_dnses/:id(.:format)  active_dnses#update 
       DELETE /active_dnses/:id(.:format)  active_dnses#destroy 
+0

działa dobrze dla mnie z szynami 4.2.1 –

Powiązane problemy