前提・実現したいこと
Nuxt + Rails API + MySQL で記事の保存をできるサイトを作成しています。
ユーザーに紐ずいて記事を保存して、記事の一覧をユーザー別に取得したいと考えています。
発生している問題・エラーメッセージ
記事の取り出し方として、ユーザーのインスタンスを作成して、そのユーザーに紐付いた記事を取得しようするコードにしたところエラーがててしまいます。
rb
1@current_user = User.find_by(id: token) 2@articles = @current_user.articles
エラーこのようにでています
NoMethodError (undefined method `articles' for #<User:0x00007fc517ad1950>):
記事の作成はこのように、ユーザーIDを直接保存する形にしています
rb
1 def create 2 @article = Article.new(article_params) 3 @article.save 4 end 5 6 private 7 def article_params 8 params.require(:article).permit(:title, :article_url, :user_id) 9 end
試したこと
articles
のメソッドがないとのエラーだったので、user
とarticle
がうまく紐付いてないのかなと思い下記のようなコードにしたところ、一覧を取得することができました
rb
1articles = Article.where('user_id' == 1)
お聞きしたいこと
-
今までは
@current_user.articles
のような形でユーザーに紐ずく記事一覧を取れていたのに、今回所得できなかった原因はどこにあるかわかりますでしょうか? -
@user.articles
とArticle.where('user_id' == 1)
で一覧を取得する際に、パフォーマンスなどどんな違いが出てきそうでしょうか?
上記2点お答えいただけると幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/22 00:16