Made hates polymorphic

* Also made the controller polymorphic
* so I didn't have to add 4 more controllers
* like I did when I made likes polymorphic