Jestem całkiem nowy dla Rails3, zasadniczo stworzyłem rusztowanie subscribers
, chcę tylko, aby moja aplikacja odpowiadała na akcje new
i create
.Przesłanianie trasy zasobu do/(root) w Rails3: nie zmieniając helpera ścieżki?
Więc w config/routes.rb
I zdefiniowane:
resources :subscribers, :only => [:new, :create]
Który działa w ten sposób
GET /subscribers => subscribers#new POST /subscribers => subscribers#create
teraz chcę moja aplikacja do pokazywania zasobów abonentów na /
(root) zamiast /subscribers
, więc tutaj jest co zrobiłem:
match '/' => "subscribers#new" match '/' => "subscribers#create" match '/' => "subscribers#thankyou" resources :subscribers, :only => [:new, :create]
Które jakoś działa, ale nie jest chyba DRYest rzecz: oto kwestie mam:
- Kiedy wraca do formy po emisji na utworzenie przeglądarkę wyświetla
/subscribers
URL zamiast po prostu/
, forma jest tworzona przy użyciu metodyform_for(@subscriber)
pomocnika, więcpath
pomocnik musi być w jakiś sposób wpływa drogą - Idealnie I nawet nie chce aplikację w odpowiedzi na prośbę o
/subscribers
- zauważyłem dziwny błąd, podczas księgowania Formularz jest rozłączany (od
/
, a następnie robi odświeżanie po podłączeniu n wraca (przeglądarka prosi o ponowne przesłanie => OK), aplikacja Railsowa zawiesza się (nie mam stosu błędów, jak to było w trakcie produkcji), dlaczego tak jest?
Również Próbowałem konfigurowania Trasa To sposób:
resources :subscribers, :only => [:new, :create] do collection do post '/' => :create get '/' => :new end end
który jest prawdopodobnie włosów, ale to nie rozwiąże żadnego z tych problemów.
Jestem pewien, że to jest coś bardzo prostego, proszę o pomoc!
Walczysz konwencje, i to zawsze będzie być bitwą pod górę. Bardzo wątpiłbym, dlaczego nie chcesz, aby Twoja aplikacja reagowała na/subskrybentów i używała/dla 2 lub 3 różnych działań. Powinieneś przemyśleć swoją architekturę. –
Hej bjeanes, nie chcę walczyć z konwencjami, jest to lista mailingowa dla "wkrótce" strony internetowej, więc prawie jedyna rzecz, myślę, że istnieje łatwy sposób na umieszczenie zasobu w /? –