Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在我的rails应用程序中进行全局前端检查_Ruby On Rails_Ruby_Session_Controller - Fatal编程技术网

Ruby on rails 如何在我的rails应用程序中进行全局前端检查

Ruby on rails 如何在我的rails应用程序中进行全局前端检查,ruby-on-rails,ruby,session,controller,Ruby On Rails,Ruby,Session,Controller,我正在为本地网络制作一个应用程序,我想检查IP地址以设置一些会话变量。是否可以全局执行此操作,还是强制我在每个控制器的每个操作中执行检查?您可以在应用程序控制器中的过滤器之前定义一个。这将使它有点全球化 class ApplicationController < ActionController::Base before_filter :setup_session private def setup_session ip = request.remote_ip

我正在为本地网络制作一个应用程序,我想检查IP地址以设置一些会话变量。是否可以全局执行此操作,还是强制我在每个控制器的每个操作中执行检查?

您可以在应用程序控制器中的过滤器之前定义一个
。这将使它有点全球化

class ApplicationController < ActionController::Base
  before_filter :setup_session

  private
  def setup_session
    ip = request.remote_ip
    ...
  end

end
class ApplicationController
只要您确保所有控制器都从ApplicationController继承,这肯定会起作用。是的,但谁会不这样做呢?我从来没有:-)我也没有!这是值得记住的,因此,如果有人不太可能记住,他们就不会花上几个小时去努力想办法了!