ruby-on-rails – Ruby – 自动运行辅助方法

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

解决方法

传统上,这是通过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

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

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...