0

こんにちは賢いプログラマー、

私は数日間検索して読んでいますが、Railsの助けが必要です-

これが私の目標です。ユーザーごとに複数ページのプロファイルを作成し、このプロファイルをプロファイルコントローラーで処理したいと思います。

問題?'show' RESTアクションを1ページだけでなく、コントローラー全体に適用するにはどうすればよいですか?具体的には、サインインしたユーザーと現在のユーザーのページに対応する@current_user変数と@user変数の両方をプロファイルコントローラーで使用できるようにするにはどうすればよいですか。

ルートに複数の:idを含むルートを作成する必要があるのか​​、それとも@current_userのようなサインインしたユーザーを永続化する方法があるのか​​、どこでも利用できるのかどうかはわかりません。ルートにあるプロファイルのユーザーの:idを使用します。たとえば、Facebookはfacebook.com/{your_id}/{their_id}/のようなことをしていると確信しています。

session_helper.rbクラスから@current_userにアクセスしようとしましたが、nilになり、プロファイルコントローラーがリソースと提携していないため、User.find(params [:id])を使用するために:idを渡す方法がわかりません。ユーザーモデルの場合。

役立つヒントや役立つ読み物へのリンクをいただければ幸いです。私は初心者なので、レールに逆らう場合は、より良い行動方針を提案してください。前もって感謝します!

4

1 に答える 1

0

あなたは知らないかもしれませんが、あなたはセッションデータを保存することができます、そしてuser_idは人々がそれを保存することは本当に一般的なことです。

サインイン時に保存するため

session[user_id] = ....

次に、ヘルパーにこのようなものを置くことができます def current_user User.find(session[user_id]) if session[user_id] end

deviseと呼ばれる宝石をチェックする必要があります。これは、認証を解除するためのすべての機能を提供し、どこにでもcurrent_userメソッドを提供します。少なくとも、彼らがそのメソッドをどのように実装しているかを確認する必要があります。

于 2012-06-19T04:43:44.777 に答える