Jas*_*rer 4 ip session env ruby-on-rails
我想做以下事情:
定义一个before_filter在application.rb任何地方提取用户的IP地址,并将其存储,最好是在会话.
在我的所有模型中定义两个过滤器,如before_create和before_update,它们将当前用户的IP添加到要存储的对象.
问题:我无法访问session[]既不env[]在一个模型.任何人都可以使用我还不知道的标准解决方案吗?
关心杰森
试试这个.在您的用户模型中添加一个类属性访问器
cattr_accessor :current_ip
Run Code Online (Sandbox Code Playgroud)
在应用程序控制器中添加:
before_filter :set_current_ip
protected
def set_current_ip
User.current_ip = request.env['REMOTE_ADDR']
end
Run Code Online (Sandbox Code Playgroud)
然后在您的模型中,您应该只能调用User.current_ip
我们做类似的事情来获取current_user对象.
| 归档时间: |
|
| 查看次数: |
6090 次 |
| 最近记录: |