メールを送信するためのERBテンプレートがあります。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
。
ヘルパーメソッド:
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は動作しません。第3のアプローチのバリエーションは私が現在使っているものです。更新された質問を見てください。問題は、なぜ '<%--%> 'タグが機能しないのかについてです。 –