Ich bin ziemlich neu in Rails3, ich habe im Grunde ein subscribers
Gerüst, ich möchte nur meine App auf new
und create
Aktionen reagieren.Überschreiben einer Ressourcenroute nach/(root) in Rails3: den Pfadhelfer nicht ändern?
So in config/routes.rb
I definiert:
resources :subscribers, :only => [:new, :create]
Welche so funktioniert
GET /subscribers => subscribers#new POST /subscribers => subscribers#create
Jetzt habe ich meine App, die Abonnenten Ressourcen bei /
(root) statt /subscribers
, also hier zeigen wollen, ist Was ich getan habe:
match '/' => "subscribers#new" match '/' => "subscribers#create" match '/' => "subscribers#thankyou" resources :subscribers, :only => [:new, :create]
Welche funktioniert irgendwie, aber es ist wahrscheinlich nicht die trockenste Sache: hier sind die Themen, die ich habe:
- Wenn die Form nach einem Problem auf einer den Browser erstellen zurück zeigt die
/subscribers
URL statt nur/
, die Form ich auf/subscribers
- irgendwie nicht betroffen sein muss, auf eine Anfrage nicht einmal die App reagieren soll ich einen seltsamen Fehler bemerkt, wenn die Buchung erstellt, um die
form_for(@subscriber)
Hilfsmethode verwenden, so dass diepath
Helfer von der Strecke - Idealer Formular während der Verbindung getrennt (von
/
, und dann eine Aktualisierung durchführen, wenn die Verbindung n kommt zurück (Browser fragt nach Wiedervorlage => OK), die Rails-App stürzt ab (ich habe aber keinen Fehler-Stack, da dies bei der Produktion war), warum ist das so?
Auch ich versuchte Einstellen der Route auf diese Weise nach oben:
resources :subscribers, :only => [:new, :create] do collection do post '/' => :create get '/' => :new end end
die wahrscheinlich Dryer ist, aber es ist nicht eines dieser Probleme beheben.
Ich bin sicher, das ist etwas ganz einfaches, bitte helfen!
Sie Konventionen kämpfen, und es wird immer ein harter Kampf sein. Ich würde den Grund dafür, dass Ihre App nicht auf die Abonnenten antworten und/oder zwei oder drei verschiedene Aktionen verwenden soll, in Frage stellen. Sie sollten Ihre Architektur überdenken. –
Hey bjeanes, ich will keine Konventionen bekämpfen, es ist eine Mailing-Liste für eine "bald kommen" -Website, also so ziemlich das Einzige, ich denke, es gibt einen einfachen Weg, die Ressource zu setzen /? –