我不确定为什么“\ n \ n”在我的代码中没有添加两个换行符:
<%= (getparagraph(@geography, "geography")+"\n\n") if @geography != "Other" %>
为了澄清方法,getparagraphs只返回一段文字。我试图在Ruby代码中添加两个换行符,而不必使用<br/>
有什么想法吗?我读过的所有内容都暗示它应该有效。
答案 0 :(得分:4)
你的助手有&#34;段&#34;在它的名字中,也许你应该将它包装在一个段落中并使用CSS在段落周围添加适当的间距:
<% if @geography != "Other" %>
<p>
<%= getparagraph(@geography, "geography") %>
</p>
<% end %>
如果您需要额外的间距,可以随时向<p>
添加特殊类:
<% if @geography != "Other" %>
<p class="geo-chunk">
<%= getparagraph(@geography, "geography") %>
</p>
<% end %>
然后在你的CSS中:
.geo-chunk {
margin-bottom: 2em; /* Or whatever works */
}
如果要在另一个<p>
内显示,那么您需要重新排列HTML,因为您无法将块元素放在<p>
中:
<div>
<!-- The old <p> content ... -->
<% if @geography != "Other" %>
<div class="geo-chunk">
<%= getparagraph(@geography, "geography") %>
</div>
<% end %>
</div>
答案 1 :(得分:3)
您正在输出HTML;渲染时很大程度上忽略了空格。
改为使用<br/>
代码和.html_safe
。
答案 2 :(得分:1)
这是否在HTML中?如果是这样,那么只需使用<br>
。 HTML忽略多个空格字符,因此您可以有一个空格或50个换行符,结果也是相同的。
另一个注意事项:除非您使用XHTML(本身并不是一个好主意),否则不使用自我结束标记,例如<br/>
。斜杠无效,因此省略它。