如何将以下代码转换为后者?
<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()
是没有显示 - 这是因为我没有使用可打印的 ruby 标签 ( <%= # %>
) 但使用它们会转储内容下方的常见问题解答对象。
我考虑使用在红宝石标签内puts()
打印content_tag()
while,但这没有用。
我试图搜索这个问题,但没有产生任何有用的东西。
这是可以实现的吗?如果可以,除了更漂亮之外,它还有其他好处吗?