は私のスコープはNews
モデルである: localhost:3000/news?category[]=sit&tag_list=ipsum
Railsのスコープ条件ここ
[
{
"id": 8,
"tag_list": "ipsum",
"category": "sit"
},
{
"id": 9,
"tag_list": "",
"category": "sit"
}
]
マイindex
アクション:
news = News.filter(params.slice(:tag_list, :category, :days_ago))
私がしたい
scope :category, -> (category_names) { joins(:category).where('categories.name IN (?)', category_names)}
scope :tag, -> (tag_name) { joins(:tags).where('tags.name = ?', tag_name)}
ここGET
リクエストです両方を満足するニュースを得る条件のうち、category="sit"
およびtag_list="ipsum"
を有するそれらのニュースのみが表示されるべきである。
これを達成する最もよい方法は何ですか?