Rails includes with scope

后端 未结 4 738
耶瑟儿~
耶瑟儿~ 2021-02-05 01:30

I have a model called Author. An author has many Articles. Articles have a scope called .published that does: where(published: true).

I want to load the author, with the

4条回答
  •  生来不讨喜
    2021-02-05 01:51

    Using:

    class Articles < ActiveRecord::Base 
        scope :published, -> { where(articles: {published: true}) }
    end
    

    Define a scope on Autor

    class Author < ActiveRecord::Base 
        scope :with_published_articles, -> { joins(:articles).merge(Articles.published) }
    end
    

    Or

    Author.joins(:articles).merge(Articles.published).find(params[:author_id])
    

提交回复
热议问题