Überschreiben einer Ressourcenroute zu / (root) in Rails3: Pfadhilfe nicht geändert?
Ich bin ziemlich neu bei Rails3, ich habe im Grunde ein @ erstelsubscribers
ch möchte nur, dass meine App auf @ reagiernew
undcreate
Aktionen
So inconfig/routes.rb
Ich definierte:
resources :subscribers, :only => [:new, :create]
Was funktioniert so
GET /subscribers => subscribers#new POST /subscribers => subscribers#create
Nun möchte ich, dass meine App die Ressourcen der Abonnenten unter @ anzeig/
(root) anstelle von/subscribers
, also hier ist was ich getan habe:
match '/' => "subscribers#new" match '/' => "subscribers#create" match '/' => "subscribers#thankyou" resources :subscribers, :only => [:new, :create]
Was irgendwie funktioniert, ist aber wahrscheinlich nicht das TROCKENSTE: hier sind die Probleme, die ich habe:
Wenn Sie nach einem Problem beim Erstellen zum Formular zurückkehren, zeigt der Browser das @ a/subscribers
URL statt nur/
, das Formular wird mit dem @ erstelform_for(@subscriber)
Helfer-Methode, so dass diepath
helfer muss irgendwie von der route unberührt bleibenIdealerweise möchte ich nicht, dass die App auf eine Anfrage am @ antworte/subscribers
Ich bemerkte einen seltsamen Fehler beim Posten des Formulars, während die Verbindung getrennt war (von/
, und wenn die Verbindung wiederhergestellt wird (Browser fragt nach erneutem Senden => OK), stürzt die Rails-App ab (ich habe den Fehler-Stack jedoch nicht, da dieser in Produktion war). Warum ist das so?Auch habe ich versucht, die Route folgendermaßen einzurichten:
resources :subscribers, :only => [:new, :create] do collection do post '/' => :create get '/' => :new end end
Welche wahrscheinlich DRYer ist, behebt aber keines dieser Probleme.
Ich bin sicher, das ist etwas ganz Einfaches, bitte helfen Sie!