実現したいこと
Railsのアプリケーション開発をしている者です。ログインしているuserのidを利用して、以下のfriend_infoテーブル内にあるnameのフィールドを一覧出力したいと思っています。
[userテーブル]
id
[friendテーブル]
id
user_id
[friend_infoテーブル]
id
friend_id
name
sex
birthday
※userテーブル→friendテーブル→friend_infoテーブルの順で従属関係は成り立っています。
※userテーブル、friendテーブル、friend_infoテーブルにはあらかじめテストデータが入っています。
やったこと
ruby
1//動く 2 def index 3 friends = Friend.find_by(user_id: current_user.id) 4 @friends = friends.friend_info.all 5 end
上記のコードは動きます。画面上にデータが1件だけ表示されました。しかし今回は、「『user_id=ログインユーザー』に合致するfriend_infoテーブル内にあるnameのフィールドを複数件、画面に一覧出力したい」ので、find_byではなく、where句を使いたいです。
しかし、
ruby
1//動かない 2 def index 3 friends = Friend.where(user_id: current_user.id) 4 @friends = friends.friend_info.all 5 end
これだと、二行目のfriendsがNoMethodErrorになります。しかし、friends変数をコンソールで調べたら、値はしっかり入っていました。
どうして想定どおり動かないのか分からなくなってしまったので、ご教授願いたいと考えています。よろしくお願いいたします。
191214追記
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。