質問は確かにすでに尋ねられていますが、見つかりませんでした。
ビューで次のようなコードを書くことを余儀なくされることがよくあります。
<div class="<%= c ? 'my_class' : 'my_other_class' %>">
<div class="<%= 'my class' if c %>">
<div<%= c ? 'class="my_class"' : 'id="my_div"' %>>
または(よりきれいな方法ですが、読みにくくなります):
<% div_inner = capture do %>
...
<% end %>
<% if c %>
<div class="my_class"><%= div_inner %></div>
<% else %>
<div><%= div_inner %></div>
<% end %>
最後のもの:
<% div_inner = capture do %>
...
<% end %>
<%= content_tag(:div, div_inner, (c ? { :class => "my_class" } : {})) %>
このソリューションはすべて構文的に汚いことがわかりました。もっといい方法があると確信しています。でも魔女?ご自身の体験談大歓迎です。