次のコードを後者に変換するにはどうすればよいでしょうか。
<div id="faqs">
<% if @faqs.length > 0 %>
<% @faqs.each do |faq| %>
<div class="faq">
<strong>Q:</strong> <%= faq.question %>
<br />
<strong>A:</strong> <%= faq.answer %>
</div>
<% end %>
<% else %>
<p>No FAQs to display.</p>
<% end %>
</div>
<div id="faqs">
<% @faqs.empty? ? content_tag(:p, "No FAQs to display.") : @faqs.each do |faq| %>
<div class="faq">
<strong>Q:</strong> <%= faq.question %>
<br />
<strong>A:</strong> <%= faq.answer %>
</div>
<% end %>
</div>
後者のコードを機能させることができるかどうかについて興味があります。現時点で失敗している唯一の要素は、content_tag()
が表示されていないことです。これは、印刷可能なルビータグ(<%= # %>
)を使用していないためですが、それらを使用すると、コンテンツの下にあるFAQオブジェクトがダンプされます。
puts()
ルビータグの中にある間を印刷するための使用を検討しましたcontent_tag()
が、それは機能しませんでした。
私はこの問題を検索しようとしましたが、有用なものは何も得られませんでした。
これは達成可能ですか?もしそうなら、それはよりきれいになる以外に何か利点がありますか?