我想在Rails中为用户显示不同的根页。
我定义了根:
root :to => 'welcome#index'
欢迎控制:
class WelcomeController < ApplicationController
before_filter :authenticate_user!
def index
end
end
目前可以登录用户,但未登录的用户重定向到/ users / sign_in
我想显示静态根页面而不是重定向。
答案 0 :(得分:25)
Puneet Goyal建议的答案在Rails 4中不起作用。见this。解决方案是使用两个路由之一的别名,如下所示:
authenticated do
root :to => 'welcome#index', as: :authenticated
end
root :to => 'home#static_page'
答案 1 :(得分:2)
这个答案应该有效。这张贴在Bradley链接的页面上。
将它放在欢迎控制器中。
def index
if authenticate_user?
redirect_to :controller=>'dashboard', :action => 'index'
else
redirect_to '/public/example_html_file.html'
end
end
答案 2 :(得分:2)
在routes.rb
:
authenticated do
root :to => 'welcome#index'
end
root :to => 'home#static_page'
这将确保所有经过身份验证的用户root_url
为welcome#index