我的网站应该像 facebook.com 一样工作。如果用户已登录并且转到“/”,则应将其呈现为家庭控制器。如果它没有被记录,它应该是呈现landing_page控制器
"/ " && user_signed_in? ---> 家庭控制器
"/" && user_not_logged ---> 登陆页面控制器
我正在使用 Rails 4 和设计
应用控制器
class ApplicationController < ActionController::Base
before_filter :authenticate_user!
end
路由.rb
get "landing_page/index"
root 'home#index', :as => :home
我如何在除“landing_page”控制器之外的每个控制器中运行的 ApplicationControl 中保留“before_filter”?
更新
如果我转到“/en/landing_page”,它会正确呈现landing_page 控制器(注销),但如果我转到“/”,它会将我重定向到“/users/sign_in”
class LandingPageController < ApplicationController
skip_before_action :authenticate_user!
def index
end
end
class ApplicationController < ActionController::Base
before_action :authenticate_user!
end
路由.rb
root 'landing_page#index'