First off, never ever call your model 'Show'. It's confusing, ambiguous and simply doesn't make clear what's the class all about. If you would tell me you have a Show model, how would I know what you're referring to? Naming is really important, so it's worth investing time in.
Anyway, I would start with drawing a basic setup. It would definitely help to make your setup visual.
Your explanation is a bit confusing, but you could think of the current setup:
- A User has_one lists, therefor WatchList belongs_to a User
- A WatchList has_many animes, therefor Anime belongs_to a WatchList
- A Anime has_many review_scores, therefor ReviewScore belongs_to an Anime
This is just an example, and only shortly thought trough. Hopefully it gives you a basic idea of how you could think about your main building blocks.
Update: MrMorphe is right that List is also a bad name for a model. Pretty much for the same reasons as Show. To be honest, Score is also pretty bad, you should really consider all names carefully.