railsで下記のようにwhereで取得した複数の値を配列に変えて再度whereで検索したいのですがうまく配列になっていないのか最後のwhereがうまくいきません。
def show follow_user_list = FollowUser.where(post_id: @post.id).follow_user_id @follow_user = User.where(id: follow_user_list) end
下記がこのshowページを表示させようとしたときのエラー文です。
Started GET "/post/3" for 127.0.0.1 at 2018-03-18 00:32:40 +0900 Processing by PostController#show as HTML Parameters: {"id"=>"3"} User Load (1.5ms) SELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] Post Load (0.6ms) SELECT "posts".* FROM "posts" WHERE "posts"."id" = ? LIMIT ? [["id", 3], ["LIMIT", 1]] FollowUser Load (0.8ms) SELECT "follow_users".* FROM "follow_users" WHERE "follow_users"."post_id" = ? LIMIT ? [["post_id", 3], ["LIMIT", 11]] Completed 500 Internal Server Error in 263ms (ActiveRecord: 12.8ms) CACHE FollowUser Load (0.1ms) SELECT "follow_users".* FROM "follow_users" WHERE "follow_users"."post_id" = ? LIMIT ? [["post_id", 3], ["LIMIT", 11]] NoMethodError (undefined method `follow_user_id' for #<FollowUser::ActiveRecord_Relation:0x007ff1f602e5a0>): app/controllers/post_controller.rb:11:in `show'
FollowUser.where(post_id: @post.id).follow_user_idを[1,2]と配列にしたらうまく動いたため、ここを配列に変更できたらイケルと思うのですがwhereで取得してきたもののfollow_user_idのみを配列にする方法が分からないです。。。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/18 02:28