模型Member属于Discipline,即用户可以有一个规程,但它是可选的。
我想知道当我显示用户详细信息时,用什么惯用的Rails方式来显示成员的纪律。
我的第一个方法

<b>Discipline:</b>
<%=h @member.discipline.name %>

工作正常,但如果成员的纪律是NoMethodError,则失败那样的话,我不想有任何东西。
我有几个选择
Define方法Nil如果成员没有规程,则返回
用if限制输出;
使用“if”的替代方法如下:
<b>Discipline:</b>
<% if @member.discipline %>
<%=h @member.discipline.name %>
<% end %>

这不是一个大的决定,但我想知道是否有一个“惯用的方式”做这件事或一些帮手/某事或其他事情要考虑。
比尔,图科

最佳答案

在我看来,惯用的方式是:

<b>Discipline:</b>
<%=h @member.discipline.name if @member.displince.present? %>

09-30 12:43