Ich kämpfe mit der Pluralisierung der RESTful Route Generation in Rails 2.3.2.Rails, RESTful Routing und Pluralization
Konkret habe ich eine Ressource namens sitestatus
. Diese Ressource ist wirklich unzählbar (Hirsch ist Hirsch, nicht Hirsche). Wenn ich es in einem Intializer als unzählbar spezifiziere, bekomme ich einige Helfer, aber die sitestatuses_path
ist nicht verfügbar (was sinnvoll wäre).
Also, in einer Geste zur Konformität, habe ich sitestatus
zählbar erlaubt. So, nun pluralisiert Rails sitestatus
zu sitestatuses
(nicht zu schrecklich), aber es besteht auf auch singularizing es zu sitestatu
(fehlt das 's', urkomisch und schrecklich zur gleichen Zeit).
So peitschte ich meinen größeren Hammer aus und fügte hinzu, diesen Code zu dem intializer:
ActiveSupport::Inflector.inflections do |inflect|
inflect.plural "sitestatus", "sitestatuses"
inflect.singular "sitestatus", "sitestatus"
end
(Anmerkung: Ich habe versucht, irregular
verwenden und es funktionierte nicht richtig)
Dadurch gibt mir die erwarteten Ergebnisse in der Konsole, wenn ich "sitestatus".pluralize
, aber wenn ich mich
undefined local variable or method 'sitestatuses_path'
erhalte einen Anruf zu sitestatuses_path
meiner Meinung nach machen versuchen, Whe n Ich lade ActionController :: UrlHelper in die Konsole und rufe sitestatus_path(123)
. Ich bekomme sitestatus/123
, wie ich es erwarten würde. Allerdings, wenn ich sitestatuses_path
nenne ich
undefined method 'sitestatuses_path' for #<Object...
Dieser Name ist der Name des Modells und die Steuerung erhalten und es ist wirklich der einzige logische Name für beide, wie es eine Linie mit dem Firmennamen für das Objekt perfekt.
Was fehlt mir?
Werden "sitestatuses" in der Liste der Routen angezeigt, wenn Sie Rake-Routen betreiben? –
Nein. Die Get-Route existiert als site_status_index, die Post-Route ist jedoch leer. –
Nur eine Anmerkung, REST hat nichts mit URI-Namenskonventionen zu tun. – aehlke