gpt4 book ai didi

ruby-on-rails - 仅在 Rails 的 View 中显示模型的非空白属性

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

假设我有一个用户模型,其中包含大量用户信息,例如电子邮件、生日、位置、电话号码等。

隐藏空白属性的最简单方法是什么?

我正在做类似的事情

<% if blog.title.empty? -%>
<p>Body: <%=h blog.body %></p>
<p>Comments: <%=h blog.comments %></p>

<% elsif blog.body.empty? %>
<p>Title: <%=h blog.title %></p>
<p>Comments: <%=h blog.comments %></p>

<% else -%>
<p>Title: <%=h blog.title %></p>
<p>Body: <%=h blog.body %></p>
<% end -%>

分明是个丑 child 。除了使用 partials 渲染之外,是否有只显示非空白字段的技巧?

我一直在尝试编写一个 helperher 方法来使 View 更清晰,但那更难看。

感谢任何帮助。

最佳答案

我会这样做:

# blog_helper.rb
show_non_blank_field(label, value)
"<p>#{label}: #{h value}</p>" if !value.blank?
end

然后在 View 中:

<%= show_non_blank_field "Body", blog.body %>

等等……

当然你可以使用更短的助手名称。

如果你想用 if-else 的方式来做,试试这个:

<% if !blog.title.blank? -%>
<p>Title: <%=h blog.title %></p>
<% end %>

<% if !blog.body.blank? %>
<p>Body: <%=h blog.body %></p>
<% end %>

<p>Comments: <%=h blog.comments %></p>

关于ruby-on-rails - 仅在 Rails 的 View 中显示模型的非空白属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2644594/

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