gpt4 book ai didi

ruby-on-rails - 删除尾随行的 ERB 模板

转载 作者:行者123 更新时间:2023-12-03 11:06:38 26 4
gpt4 key购买 nike

我有一个用于发送电子邮件的 ERB 模板。

Name: <%= @user.name %>
<% if @user.phone.present? %>
Phone: <%= @user.phone %>
<% end %>
Address: <%= @user.address %>

我正在尝试删除 Name 之间的空行和 AddressPhone是空的。

返回结果
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

现在,我正在使用 ruby​​ hackery 解决这个问题。

辅助方法:
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 View 模板中工作。

最佳答案

要启用修剪模式,您必须使用“-”作为第三个参数实例化 ERB 对象

ERB.new(template, nil, '-')

关于ruby-on-rails - 删除尾随行的 ERB 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4632879/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com