¿Cuál sería la forma más fácil de leer y/o escribir concisa esto en ERB? Escribir mi propio método no es preferible, ya que me gustaría diseminar una solución más limpia para otros en mi compañía.envoltura etiqueta condicional en Rails/ERB
<% @items.each do |item| %>
<% if item.isolated? %>
<div class="isolated">
<% end %>
<%= item.name.pluralize %> <%# you can't win with indentation %>
<% if item.isolated? %>
</div>
<% end %>
<% end %>
== == Actualización
que utilizan una versión más genérica de la respuesta de la etiqueta Gal que es agnóstico.
def conditional_wrapper(condition=true, options={}, &block)
options[:tag] ||= :div
if condition == true
concat content_tag(options[:tag], capture(&block), options.delete_if{|k,v| k == :tag})
else
concat capture(&block)
end
end
Uso ==
<% @items.each do |item| %>
<% conditional_wrapper(item.isolated?, :class => "isolated") do %>
<%= item.name.pluralize %>
<% end %>
<% end %>
Pensé que quería evitar esto. En última instancia, es la dirección que elegí. –