模块中的Rails ENV变量

时间:2010-02-01 14:23:25

标签: ruby-on-rails module

如何阅读ENV变量

module MyModule
  def self.current_ip
    request.env['REMOTE_ADDR']
  end
end

MyModule::current_ip

如何?

2 个答案:

答案 0 :(得分:2)

这里的问题是您正在引用模块范围中不存在的请求对象。 你需要传递或存储它。

module MyModule
  mattr_accessor :request
  def self.current_ip
    request.env['REMOTE_ADDR']
  end
end

# store the request using a before filter
# or similar approach
MyModule.request = request

MyModule::current_ip

根据您的情况,可能会有更优雅的解决方案。

答案 1 :(得分:0)

为什么不只是ENV['REMOTE_ADDR']