Ho un modello ERB per inviare un messaggio di posta elettronica.Modello ERB che rimuove la linea di trascinamento
Name: <%= @user.name %>
<% if @user.phone.present? %>
Phone: <%= @user.phone %>
<% end %>
Address: <%= @user.address %>
Sto cercando di rimuovere la riga vuota tra Name
e Address
quando Phone
è vuoto.
risultato restituito
Name: John Miller
Address: X124 Dummy Lane, Dummy City, CA
Risultato atteso
Name: John Miller
Address: X124 Dummy Lane, Dummy City, CA
Ho provato ad utilizzare <%--%>
tag (per rimuovere la nuova linea di uscita) senza alcun successo.
Name: <%= @user.name %>
<%- if @user.phone.present? -%>
Phone: <%= @user.phone %>
<%- end -%>
Address: <%= @user.address -%>
Come posso risolvere questo problema?
PS: Sono su Rails 2.3.8.
Nota 1
In questo momento sto lavorando intorno al problema utilizzando hackery rubino.
Helper Metodo:
def display_fields(names, user)
names.collect do |name|
value = user.send(name)
"#{name}: #{value}" unless value.blank?
end.compact.join("\n")
end
Visualizza codice
<%= display_fields(["Name", "Phone", "Address"], @user) %>
Ma questo sembra abbastanza goffo a me. Sono interessato a sapere se qualcuno è stato in grado di ottenere il lavorando nei modelli di visualizzazione ERB.
L'approccio 1, 2 non funziona. La variazione del terzo approccio è ciò che sto usando al momento. Guarda la mia domanda aggiornata. Il problema riguarda più il motivo per cui i tag '<%--%>' non funzionano. –