2015-02-28 21 views
5

Sto provando a reindirizzare la mia radice www.example-app.com a www.example-app.com/app/dashboard utilizzando routes.rb. Al momento sto facendo in questo modo:Reindirizzare la root alla route denominata nelle guide 4

root to: redirect('/app/dashboard') 

Ma vorrei farlo usando il nome percorso, ad esempio:

get 'app/dashboard' => 'accounts#dashboard', as: :account_dashboard 

ma quando ho messo che in percorsi:

root to: redirect(account_dashboard_url) 

... ovviamente non funziona, come posso farlo?

risposta

3

Non è possibile farlo direttamente in routes.rb (come ora - Rails 4.2), ma ci sono modi per farlo funzionare. Il più semplice, IMO, sarebbe quello di creare un metodo nel controller dell'applicazione per eseguire il reindirizzamento.

# routes.rb 

root to: 'application#redirect_to_account_dashboard' 

e

# application_controller.rb 

def redirect_to_account_dashboard 
    redirect_to account_dashboard_url 
end 
+0

Siamo spiacenti per la mia risposta in ritardo, non ho davvero tempo. Sembra un po 'strano, che non esiste un modo "ufficiale" per farlo, deve dire. Ma comunque la tua risposta risolve il mio problema. Quindi grazie mille :) – plunntic

0

prega di notare che, come di rotaie 5, riorientante dalle rotte è possibile.

match "*", to: redirect('/something-else'), via: :all 

http://guides.rubyonrails.org/routing.html#redirection

Questa pagina è abbastanza elevato in alcuni Google-parole chiave, e questo potrebbe essere fuorviante.

+0

Questo metodo è mostrato nella domanda stessa. La domanda riguarda le route con nome, che non credo siano supportate da 'redirect' in Rails 5 o 5.1. – dbenton

Problemi correlati