ログインしている現在のユーザーの詳細のみを表示したい..デバイスを使用して認証を作成し、ユーザーがログインした後..ユーザーが学生を作成できる学生の足場を作成しましたが、学生は必要ありませんログインしている2番目のユーザーと同じ方法で3番目のユーザーに表示される最初のユーザーによって作成されました..各ユーザーの詳細は個別に表示する必要があります..これで私を案内してもらえますか? 前もって感謝します。
質問する
3568 次
4 に答える
1
モデル間の関連付けを設定する必要があります
その後、次のようになります。
@students = @user.students.all
どこ@user = current_user
私は推測する。
編集:
フェイルセーフにするには:
@students = @user.students.all if @user
後で問題が発生しないようにするには、ユーザー ビューなどでコントローラーによって設定されていない場合にのみユーザーを設定します。
@user ||= current_user
これは、@user がまだ設定されていない場合にのみ current_user に設定します。
于 2013-06-03T06:56:19.263 に答える
0
やりたいことを行うにはuser_id
、テーブルにフィールドを追加する必要がありstudents
ます。次に、モデルにbelongs_to :user
関係を作成し、「ユーザー」モデルに関係を作成します。Student
has_many :students
ユーザーが学生を作成するときは、次のことを行う必要がありますcurrent_user.students.create(params[:student]
。
student = current_user.students.build(params[:student]
if student.save
...do some stuff
end
current_user
その場所で、を使用して、作成した学生のみをプルできますcurrent_user.students
于 2013-06-03T07:18:07.050 に答える