Überschreiben einer Ressourcenroute zu / (root) in Rails3: Pfadhilfe nicht geändert?

Ich bin ziemlich neu bei Rails3, ich habe im Grunde ein @ erstelsubscribersch 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!

Antworten auf die Frage(6)

Ihre Antwort auf die Frage