0

current_user 値をモデルに取り込もうとしています。モデルはこの種の相互作用から隔離されている必要があるため、これはおそらく適切ではないことはわかっていますが、問題が発生しています。モデルのメソッド内に current_user を含める必要がありますが、その方法がわかりません。

ステージ コントローラーの更新時にこれを実現し、current_user をステージ モデルに渡し、その current_user 値を使用できるようにする必要があります。どんな助けでも大歓迎です。

def update
  if @stage.update_attributes(params[:stage])
   redirect_to [@project, @stage], :notice => 'Stage was successfully updated.'
  else
   render :action => "edit"
  end
end
4

1 に答える 1

1

現在のユーザーを Thread.current のハッシュに格納することもできます。

http://rails-bestpractices.com/posts/47-fetch-current-user-in-modelsを参照してください

class User < ActiveRecord::Base
  def self.current
    Thread.current[:user]
  end
  def self.current=(user)
    Thread.current[:user] = user
  end
end
于 2012-11-13T21:02:32.833 に答える