1

「ip」属性を持つユーザーモデルがあります。User モデルにサインアップするときに、ユーザーの 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 に答える