我有用於發送電子郵件的ERB模板。刪除拖尾行的ERB模板
Name: <%= @user.name %>
<% if @user.phone.present? %>
Phone: <%= @user.phone %>
<% end %>
Address: <%= @user.address %>
我試圖刪除Name
和Address
之間的空行時Phone
是空的。
返回的結果
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
現在我解決這個問題用紅寶石兩輪牛車工作。
helper方法:
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視圖模板中使用<%--%>
。
方法1,2不起作用。第三種方法的變化是我目前正在使用的方法。看看我更新的問題。問題更多的是爲什麼`<%--%>`標籤不起作用。 – 2011-01-09 01:13:55