現在、Railsでアプリ開発をしています。
記事を投稿することでができる機能があり、この記事にはユーザーは任意の数だけタグを紐付けることができます。
そこで、「タグ1つ以上紐付けられている記事のみを取得したい」という要件を満たすコードを書きたいのですが、なかなかうまく結果が返ってきません。
以下がモデルの関係です。
ruby
1class Article < ActiveRecord::Base 2 belongs_to :user 3 has_many :hash_tags, through: :article_hash_tags 4end 5 6class ArticleHashTag < ActiveRecord::Base 7 belongs_to :hash_tag 8 belongs_to :article 9end 10 11class HashTag < ActiveRecord::Base 12 has_many :article_hash_tags 13 has_many :articles, through: :article_hash_tags 14end 15 16class User < ActiveRecord::Base 17 has_many :articles 18end
現在までに考えているが、うまく動かないコード
ruby
1user.articles.includes(:hash_tags).where.not(hash_tags: nil)
=> #<Article::ActiveRecord_AssociationRelation:0x3ff4d29b12dc>
ご教示頂けますと幸いです!
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/09/17 10:41