Deviseを使用してコントローラーで現在のユーザーIDを取得するにはどうすればよいですか?
私のコントローラーには次のようなものがあります:
def index
me = current_user
c = User.find(me)
@sheets = c.time_sheets
end
「IDのないユーザーが見つかりませんでした」というエラーが表示されます。
もしUser.find()に静的な数値を入れれば機能しますが、もちろんそれは私が望んでいることではありません。どんな助けでも大歓迎です。
ありがとう!
以下のように現在のインデックスアクションを置き換えます
def index
if current_user
@sheets = current_user.time_sheets
else
redirect_to new_user_session_path, notice: 'You are not logged in.'
end
end
ユーザーがログインしていない場合、つまりcurrent_user = nilの場合、ユーザーはフラッシュメッセージとともにログインページにリダイレクトされます。