我正在尝试使用www.example-app.com
将www.example-app.com/app/dashboard
根重定向到routes.rb
。目前我正是这样做的:
root to: redirect('/app/dashboard')
但是想使用命名路由来做,例如:
get 'app/dashboard' => 'accounts#dashboard', as: :account_dashboard
但是当我把它放在路线中时:
root to: redirect(account_dashboard_url)
...当然它不起作用,我该怎么办?
答案 0 :(得分:4)
你不能直接在routes.rb中执行此操作(截至目前为止--Rails 4.2),但有一些方法可以使它工作。最简单的IMO是在应用程序控制器中创建一个方法来进行重定向。
# routes.rb
root to: 'application#redirect_to_account_dashboard'
和
# application_controller.rb
def redirect_to_account_dashboard
redirect_to account_dashboard_url
end
答案 1 :(得分:0)
请注意,从 Rails 5 开始,可以从路线重定向。
match "*", to: redirect('/something-else'), via: :all
http://guides.rubyonrails.org/routing.html#redirection
此页面对某些Google关键字非常高,这可能会产生误导。