【发布时间】:2011-06-05 16:41:31
【问题描述】:
我有一个用于发送电子邮件的 ERB 模板。
Name: <%= @user.name %>
<% if @user.phone.present? %>
Phone: <%= @user.phone %>
<% end %>
Address: <%= @user.address %>
当Phone 为空时,我正在尝试删除Name 和Address 之间的空白行。
返回结果
Name: John Miller
Address: X124 Dummy Lane, Dummy City, CA
预期结果
Name: John Miller
Address: X124 Dummy Lane, Dummy City, CA
我尝试使用<%--%> 标签(删除尾随的新行)但没有成功。
Name: <%= @user.name %>
<%- if @user.phone.present? -%>
Phone: <%= @user.phone %>
<%- end -%>
Address: <%= @user.address -%>
我该如何解决这个问题?
PS:我在 Rails 2.3.8 上。
注 1
现在,我正在使用 ruby hackery 解决这个问题。
辅助方法:
def display_fields(names, user)
names.collect do |name|
value = user.send(name)
"#{name}: #{value}" unless value.blank?
end.compact.join("\n")
end
查看代码
<%= display_fields(["Name", "Phone", "Address"], @user) %>
但这对我来说看起来很笨重。我很想知道是否有人能够让<%--%> 在 ERB 视图模板中工作。
【问题讨论】:
标签: ruby-on-rails erb