Ruby - 自动运行帮助方法

时间:2015-07-30 12:11:42

标签: ruby-on-rails ruby ruby-on-rails-4

我有一个登录页面,用于保存会话以允许用户导航后续页面。如果您未登录,我想将您重定向到登录页面。我有一个holder.title.setText(son_title.getTitle()); 方法来检查用户是否已登录,如果没有,则将它们重定向回登录页面,但我不想在每个控制器操作中调用它。有没有办法在全球范围内轻松运行此方法?

1 个答案:

答案 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

此外,帮助程序用于简化视图(货币格式,样式等)。它们用于此类功能(在这种情况下是会话管理)。