如果条件为假,如何防止Rails在源代码中显示空行?

时间:2014-06-20 09:13:48

标签: ruby-on-rails ruby

在我的Rails 4应用程序中,我有一个TagHelper具有此功能:

def robots_tag
  if important_page?
    tag(:meta, :name => "robots", :content => "dofollow")
  end
end

在我的主要版面中,我正在使用它:

<head>
    <%= robots_tag %>
</head>

如果important_page?false,如何阻止Rails在源代码中显示空行?

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

尝试在erb标记的末尾添加减号:

<%= robots_tag -%>

出于兴趣,你为什么要摆脱换行?即使它在体内也不会影响结果(至少对用户可见);在头脑中似乎更不重要。

答案 1 :(得分:-1)

<%= %> - 语句中没有办法“删除”空行,因为之前有一个换行符(在HTML中,在<head> - 标记之后)。如果你真的想避免空行,你需要通过在<{em> <head> - 标记之后放置ruby-tag / s 来删除这个字符(以下代码假定{从方法中删除{1}}:

important_page?

(关于第一个答案的旁注:当减号 删除换行符时,删除前导间距,这只会导致不同类型的丑陋源代码)