-4

ログインしている現在のユーザーの詳細のみを表示したい..デバイスを使用して認証を作成し、ユーザーがログインした後..ユーザーが学生を作成できる学生の足場を作成しましたが、学生は必要ありませんログインしている2番目のユーザーと同じ方法で3番目のユーザーに表示される最初のユーザーによって作成されました..各ユーザーの詳細は個別に表示する必要があります..これで私を案内してもらえますか? 前もって感謝します。

4

4 に答える 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関係を作成し、「ユーザー」モデルに関係を作成します。Studenthas_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 に答える