There is some differents ways to have a better organization of your views. Partials and helpers are the standard methods. There is also Presenters and Decorators. It can be a little bit confusing to know how and when to use it.
Every technics can have his own utility.
Helpers are generic methods which can be use for different kind of objects. I create this kind of helpers
styled_form, etc. Those methods create an html code with a css style or a standard text for example.
Partials are used to split a big view into smaller logic parts and for larger html code. I can have a partial
Presenters is for more complicated queries with two or more models. I have some partials like
Decorators should act with only one model and shouldn't take parameters (if it's possible). I can do something like this
category.permalink. I use the gem Draper.
If I search many models, I do not access to the model class in the view. I use the draper's function decorates_finders.
There may be a better solution but it's for me. If you have a better solution, please, let me know.
I have only one thing which I don't like for presenters. I don't like to instanciate an object in the controller and to pass it into the view. It does not respect the Sandi Metz's rules. Every rules can be broken with a good reason...