【发布时间】:2012-11-09 22:58:28
【问题描述】:
我的控制器中有一个函数,它从需要输入 IP 地址的模型中调用另一个函数
def get_location_users
if current_user
return current_user.location_users
else
l = Location.find_by_ip(request.remote_ip)
lu = LocationUser.new({:location_id => l.id, :radius => Setting.get("default_radius").to_i})
return [lu]
end
end
根据我收集的 remote.request_ip 为您提供了 IP 地址,但是当我使用 request.remote_ip 调用该函数时,该对象为零。如果我输入一个静态 IP 地址,尽管它会产生正确的输出。如果 remote.request_ip 不这样做,那么获取 IP 地址的正确方法是什么?
当我尝试在控制台中输入“request.remote_ip”时,它会返回“未定义的局部变量或方法“请求”来自 main”
【问题讨论】:
-
您是在开发中还是在生产中测试它?此外,它在 Rails 控制台上不起作用是正常的,因为 Rails 控制台不响应 http 调用,因此没有请求对象。
标签: ruby-on-rails ruby-on-rails-3