我有一个带有“ip”属性的用户模型。我想在用户注册用户模型时保存用户的 IP 地址。
唯一的问题是,当我在 User 模型中创建一个方法时,它看起来像:
def set_ip
self.ip = request.remote_ip
end
我收到一条错误消息,说“请求”不存在,因此它看起来不像模型中存在。
有什么方法可以在模型中设置 IP 地址还是我必须在控制器中这样做?
我有一个带有“ip”属性的用户模型。我想在用户注册用户模型时保存用户的 IP 地址。
唯一的问题是,当我在 User 模型中创建一个方法时,它看起来像:
def set_ip
self.ip = request.remote_ip
end
我收到一条错误消息,说“请求”不存在,因此它看起来不像模型中存在。
有什么方法可以在模型中设置 IP 地址还是我必须在控制器中这样做?
request
是一个控制器方法,所以你不能从模型内部调用它。为什么不在params
创建用户之前添加 IP?像这样的东西:
params[:user][:ip] = request.ip
@user = User.create(params[:user])