0

この質問は、Michael HartlのRailsチュートリアルで作成されたサンプルWebアプリに由来しますが、作成者が提案した演習の1つではありません。

多くのソーシャルサイトでは、クリックして「ホーム」に移動すると(サイトのロゴなど)、ユーザーはデフォルトのホームページではなく自分のプロファイルにリダイレクトされます。チュートリアルアプリでもこれをどのように達成できるのだろうかと思っていました。

チュートリアルアプリでは、「ホーム」ビューは「静的」と見なされ、次のように表示されstatic_page_controllerます。

def home
end 

私がそれに以下を追加しようとしたとき:

def home
  if signed_in?
  redirect_to @user
  end
end

「nilにリダイレクトできません」というエラーが表示されます。@user私はすべてのコントローラーで共有されていると思っていました(以来signed_inuser_controller:で@user = User.find(params[:id]))。ユーザーがサインインしていることを検出したときに、ホームページではなくプロファイルが表示されるようにコントローラーを変更するにはどうすればよいですか?

ご協力いただきありがとうございます!

4

1 に答える 1

0

このsigned_in?メソッドは?current_userの代わりに使用しません@user

もしそうなら、あなたはただ行を変えることができます

redirect_to @user

redirect_to current_user
于 2012-06-27T17:52:46.643 に答える