在我的应用程序控制器中,我有这段代码
DES_ede3_cbc_encrypt
我要做的是将current_users IP地址添加到分析系统,该系统位于不同的static_controller.rb中,代码如下
def user_ip
request.remote_ip
@remote_ip = current_user.request.env["HTTP_X_FORWARDED_FOR"]
end
在我的分析调试器中,我得到了这个结果:
def matrimonials
Analytics.identify(
user_id: current_user.id,
traits: { email: "#{ current_user.email }", ip: @remote_ip, friends: 100 },
context: {ip: @remote_ip }
)
Analytics.track(
user_id: current_user.id,
user_email: current_user.email,
event: 'Viewed Matrimonials',
properties: {
name: 'Matrimonials page'
}
) if user_signed_in?
end
为什么ip nil?我在应用程序控制器中设置请求,静态控制器从中继承...
答案 0 :(得分:1)
您可以尝试这样做:将user_ip
定义为辅助方法,并在matrimonials
方法中使用它。
class ApplicationController < ActionController::Base
helper_method :user_ip
def user_ip
#...
end
end
def matrimonials
#...
context: {ip: user_ip }
end