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 %>
Tomash
August 14, 2012, 7:24pm
2
Do helpera. Ale najpierw dla obiektu content zdefiniować metodę typu content.image_for_render.
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.