Gdzie najlepiej przenieść logikę z widoku?

Cześć,
mam taki dość skomplikowany if…else blok, jak sie go najładniej powinienem pozbyć??

# panel.html.erb <% if content.content_type == "image" && content.content_image_url =~ URI::ABS_URI %> <%= image_tag content.content_image.pinboard_thumb %> <% elsif content.content_image? == false && content.content_value =~ URI::ABS_URI %> <%= image_tag content.content_value %> <% else %> <%= auto_link content.content_value %> <% end %>

Do helpera. Ale najpierw dla obiektu content zdefiniować metodę typu content.image_for_render.

http://railscasts.com/episodes/286-draper

http://railscasts.com/episodes/287-presenters-from-scratch #pro

Draper to niesamowite gówno. Problematyczny w uzyciu, powoduje nieoczekiwane błedy (np #id obiektu drapera to losowy id) i cieknie pamięć gigabajtami. Zdecydowanie helpery.

Btw. jeśli dobrze pamiętam to pamięć ciekła jeśli w draperze używało się helperów railsowych.

Jak appka będzie nie duża to helpery, w przeciwnym przypadku wypadało by klepnąć prezentera.