ईआरबी में इसे लिखने के लिए सबसे अधिक पढ़ने योग्य और/या संक्षिप्त तरीका क्या होगा? अपनी खुद की विधि लिखना बेहतर नहीं है, क्योंकि मैं अपनी कंपनी में दूसरों के लिए क्लीनर समाधान फैलाना चाहता हूं।रेल/ईआरबी में सशर्त टैग रैपिंग
<% @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 %>
== अपडेट ==
मुझे लगता है कि टैग नास्तिक है गल के जवाब की एक अधिक सामान्य संस्करण का उपयोग किया।
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
== प्रयोग
<% @items.each do |item| %>
<% conditional_wrapper(item.isolated?, :class => "isolated") do %>
<%= item.name.pluralize %>
<% end %>
<% end %>
सोचा था कि मैं इससे बचना चाहता था। अंत में यह दिशा मैंने चुना है। –