キャラクターと映画の間にHABTM関係があるAPIがあります(映画には多くのキャラクターがあり、キャラクターには多くの映画があります)。私は has_scope gem でフィルターを設定しようとしている
/api/characters?by_movie=:movie_id
ので、CharactersController のインデックスからすべてのキャラクターを取得する代わりに、特定の映画に参加するキャラクターのみを取得します。関係の設定方法により、次のようなことが可能になりますCharacters.find(1).movies
-> そのキャラクターの映画のリストを返します。そして、キャラクターに POST を送信し、映画を追加したい場合は、"movie_ids":[1,2] のように実行できます。
私はこのアプローチを試しましたが成功しませんでした:
Character.rbscope :by_movie, -> id, {where(movie_ids: id)}
とscope :by_movie, -> id, {where(movies: id)}
コントローラーで:has_scope :by_movie, using: :id
has_scope のドキュメントは非常に少なく、特定の問題を見つけることができませんでした。何人かが私を助けてくれることを願っています。