web-dev-qa-db-ja.com

モデルでDeviseのcurrent_userにアクセスします

モデル内のDevisesの「current_user」オブジェクトにアクセスするにはどうすればよいですか?ユーザーが何かを作成するときに、現在のユーザーIDをレコードに自動的に追加したいと思います。コントローラ内でuser_idを手動で設定できることは知っていますが、モデルで処理した方が簡単でクリーンだと思います。

19
Kyle Decot

基本的に、この種のロジックはモデルに属していないため、モデル内の関数または作成時にcurrent_userを渡すのが最善です。 この答え それを要約します。

私は知っています、私は知っています、それはあなたが望んでいた答えではありません。残念ながら、見た目はすっきりしているかもしれませんが、モデルに本当に望まないオーバーヘッドが追加されます。

57
Kelly