Wiem, jak ustawić główny tor trasy mojej aplikacji rails do kontrolera i akcji.Routing Railsów (root: to => ...)
Ale jak dodać identyfikator?
/pages/show/1
powinien być rootem.
Jak to ustawić?
Wiem, jak ustawić główny tor trasy mojej aplikacji rails do kontrolera i akcji.Routing Railsów (root: to => ...)
Ale jak dodać identyfikator?
/pages/show/1
powinien być rootem.
Jak to ustawić?
miał ten sam problem i to pracował dla mnie: rozwiązanie
root :to => "pages#show", :id => '1'
Spróbuj:
match 'pages/show/:id' => 'pages#show', :as => :root
W Rails konsoli. rake routes | grep root
powinien pokazać coś takiego:
root /pages/show/:id(.:format) {:controller=>"pages", :action=>"show"}
nadzieję, że pomoże.
Mateusza działa, ale myślę, że jest bardziej czytelny, aby pobrać obiekt. Na przykład, powiedzmy, że chcesz rootować do akcji Page#show
dla strony o nazwie "landing". Jest to nieco bardziej czytelny:
root :to => "pages#show", :id => Page.find_by_name("landing").id
Z punktu widzenia wydajności, to rozwiązanie jest gorsze, ponieważ wymaga dodatkowego zapytania do bazy danych, ale to rozwiązanie jest bardziej czytelny, jeśli wydajność nie jest priorytetem.
Używam Rails 5.1 wskazać stronę główną do konkretnego blogu. W config/routes.rb mam ...
root 'blogs#show', {id: 1}
ta wskaże drogę root/blogi/1
Robię to na blogu buduję. Pierwszy blog będzie głównym blogiem strony, a także stroną domową. ?
Cheers
To jest dobre, z wyjątkiem tego root_path() jest teraz dodanie 'id = 1 'do URL przy połączonej z innym w aplikacji ... – msanteler
@MatthewD - ciekawy dlaczego chcesz trasę korzeniowy wskazywać na id jednego? – BKSpurgeon