我正在构建一个返回帖子列表的 API(localhost:3000/api/v1/posts):
{
"tags": [
{
"id": 1,
"name": "Tag 1"
},
{
"id": 2,
"name": "Tag 2"
},
…
],
"posts": [
{
"id": 1,
"title": "Post 1",
"body": "Lorem ipsum dolor sit amet.",
"tag_ids": [
1
]
},
{
"id": 2,
"title": "Post 2",
"body": "Lorem ipsum dolor sit amet.",
"tag_ids": [
2
]
},
…
]
}
这些帖子使用acts-as-taggable-on gem 进行标记。我希望能够使用has_scope gem (localhost:3000/api/v1/posts?tag_id=1) 根据这些标签过滤它们:
{
"tags": [
{
"id": 1,
"name": "Tag 1"
}
],
"posts": [
{
"id": 1,
"title": "Post 1",
"body": "Lorem ipsum dolor sit amet.",
"tag_ids": [
1
]
}
]
}
但我不知道如何by_tag_id
在我的模型中设置范围,因为acts-as-taggable-on 文档仅解释了如何根据标签名称查找对象(使用tagged_with()
方法)。
预先感谢您的帮助!;-)
大卫