1

我有一个带有“ip”属性的用户模型。我想在用户注册用户模型时保存用户的 IP 地址。

唯一的问题是,当我在 User 模型中创建一个方法时,它看起来像:

def set_ip
  self.ip = request.remote_ip
end

我收到一条错误消息,说“请求”不存在,因此它看起来不像模型中存在。

有什么方法可以在模型中设置 IP 地址还是我必须在控制器中这样做?

4

1 回答 1

4

request是一个控制器方法,所以你不能从模型内部调用它。为什么不在params创建用户之前添加 IP?像这样的东西:

params[:user][:ip] = request.ip
@user = User.create(params[:user])
于 2013-07-06T03:48:01.087 回答