【发布时间】:2021-04-19 23:57:17
【问题描述】:
我有一个 API,其中我在角色和电影之间建立了 HABTM 关系(一部电影有很多角色,一个角色有很多电影)。我正在尝试使用 has_scope gem 设置过滤器,以便我可以执行类似的操作
/api/characters?by_movie=:movie_id 所以我没有从我的 CharactersController 中的索引中获取所有角色,而是只获取参与特定电影的角色。
建立关系的方式允许我做类似Characters.find(1).movies -> 返回该角色的电影列表。如果我向角色发送 POST 并且我想向其中添加电影,我可以像 "movie_ids":[1,2] 那样做。
我试过这种方法没有成功:
在我的 Character.rb scope :by_movie, -> id, {where(movie_ids: id)} 和 scope :by_movie, -> id, {where(movies: id)} 以及我的控制器中:has_scope :by_movie, using: :id
has_scope 中的文档很少,我没能找到我的具体问题,希望你们能帮助我,谢谢。
【问题讨论】:
标签: ruby-on-rails api has-scope