2011-12-15 12 views
18

Mam model domeny, który reprezentuje reguły lotu. Reguły lotu są zbiorem przepisów, zgodnie z którymi wykonywany jest lot. Visual Flight Rules, czyli VFR, jest jednym z takich przykładów. Próbuję przekształcić ten model, ale Railsy nalegają na zrobienie FlightRules w liczbie pojedynczej (FlightRule), podczas gdy ja potrzebuję tego, aby zachować liczbę mnogą. Czy jest jakiś sposób na utrzymanie Rails nazwy modelu w liczbie mnogiej?Ruby on Rails Liczba mnoga Nazwa modelu

Odpowiedz

20

Spróbuj

rails generate scaffold FlightRules (...) --force-plural 

można uzyskać pomoc na generatorze z:

rails g scaffold -h 
+0

Dzięki! To wystarczy! – Laurens

+2

Miałem ten sam problem i musiałem użyć tej flagi '--force-plural', aby uzyskać prawidłowe tworzenie rusztowania, a następnie musiałem dodać niezliczoną odmianę, aby moje urządzenia i trasy działały poprawnie. Zobacz tę odpowiedź SO na temat fleksji: http://stackoverflow.com/a/8524566/806956 i ten wpis na blogu: http://markembling.info/2011/06/uncountable-nouns-rails-3-resource-routing –

19

Musisz edytować plik inflections.rb pod config/initializers/inflections.rb

ActiveSupport::Inflector.inflections do |inflect| 
    inflect.uncountable %w(flight_rules) 
end 
+0

Dzięki za szybka odpowiedź! Próbowałem dodać zarówno "reguły lotu", jak i 'flight_rules', ale Rails wciąż generuje pojedynczy model. – Laurens

+0

@Laurens: zregeneruj swoje rusztowanie: 'szyny zniszczą szkielety lot_rules', a następnie' rails g scaffold flight_rules' – klaffenboeck

+0

Zniszczyłem już rusztowanie przed dodaniem fleksji i ponownym wygenerowaniem rusztowania, ale nadal generuję pojedynczą nazwę modelu: 'szyny generują rusztowanie FlightRules (...)' 'create app/models/flight_rule.rb' – Laurens