我有一个登录页面,用于保存会话以允许用户导航后续页面。如果您未登录,我想将您重定向到登录页面。我有一个holder.title.setText(son_title.getTitle());
方法来检查用户是否已登录,如果没有,则将它们重定向回登录页面,但我不想在每个控制器操作中调用它。有没有办法在全球范围内轻松运行此方法?
答案 0 :(得分:5)
传统上,这是通过before_action
过滤器完成的。这些方面的东西:
class ApplicationController
before_action :require_current_user
def require_current_user
redirect_to login_path unless current_user
end
end
class SessionsController < ApplicationController
# do not cause endless redirect loop
skip_before_action :require_current_user, only: [:new, :create]
end
此外,帮助程序用于简化视图(货币格式,样式等)。它们不用于此类功能(在这种情况下是会话管理)。