Mam szablon ERB do wysyłania wiadomości e-mail.Szablon ERB usuwający linię końcową
Name: <%= @user.name %>
<% if @user.phone.present? %>
Phone: <%= @user.phone %>
<% end %>
Address: <%= @user.address %>
Próbuję usunąć pustą linię pomiędzy Name
i Address
gdy Phone
jest pusty.
Name: John Miller
Address: X124 Dummy Lane, Dummy City, CA
Oczekiwany wynik
Name: John Miller
Address: X124 Dummy Lane, Dummy City, CA
Próbowałem użyć <%--%>
tagów (usunąć z tyłu nowej linii) bez powodzenia Zwracany wynik.
Name: <%= @user.name %>
<%- if @user.phone.present? -%>
Phone: <%= @user.phone %>
<%- end -%>
Address: <%= @user.address -%>
Jak obejść ten problem?
PS: Jestem na szynach 2.3.8.
Uwaga 1
Teraz pracuję wokół kwestii korzystania z rubinem hackery.
Helper Metoda:
def display_fields(names, user)
names.collect do |name|
value = user.send(name)
"#{name}: #{value}" unless value.blank?
end.compact.join("\n")
end
Zobacz Kod
<%= display_fields(["Name", "Phone", "Address"], @user) %>
Ale to wygląda dość przylegający do mnie. Chciałbym wiedzieć, czy ktoś był w stanie uzyskać <%--%>
pracujący w szablonach widoku ERB.
Podejście 1, 2 nie działa. Odmiana trzeciego podejścia jest obecnie tym, czego używam. Popatrz na moje zaktualizowane pytanie. Problem polega raczej na tym, dlaczego znaczniki '<%--%>' nie działają. –