Tengo una plantilla ERB para enviar un correo electrónico.Plantilla ERB que elimina la línea posterior
Name: <%= @user.name %>
<% if @user.phone.present? %>
Phone: <%= @user.phone %>
<% end %>
Address: <%= @user.address %>
estoy tratando de eliminar la línea en blanco entre Name
y Address
cuando Phone
está vacía.
resultado devuelto
Name: John Miller
Address: X124 Dummy Lane, Dummy City, CA
Resultado esperado
Name: John Miller
Address: X124 Dummy Lane, Dummy City, CA
He intentado utilizar <%--%>
etiquetas (para eliminar la nueva línea de fuga) sin ningún éxito.
Name: <%= @user.name %>
<%- if @user.phone.present? -%>
Phone: <%= @user.phone %>
<%- end -%>
Address: <%= @user.address -%>
¿Cómo soluciono este problema?
PD: I am on Rails 2.3.8.
Nota 1
En este momento estoy trabajando en torno al tema usando hackery rubí.
método de ayuda:
def display_fields(names, user)
names.collect do |name|
value = user.send(name)
"#{name}: #{value}" unless value.blank?
end.compact.join("\n")
end
Ver código
<%= display_fields(["Name", "Phone", "Address"], @user) %>
Pero esto parece bastante torpe para mí. Estoy interesado en saber si alguien ha podido obtener el <%--%>
trabajando en plantillas de vista de ERB.
Enfoque 1, 2 no funciona. La variación del 3er enfoque es lo que estoy usando actualmente. Mira mi pregunta actualizada. El problema es más acerca de por qué las etiquetas '<%--%>' no funcionan .. –