Model Member
belongs_to Discipline
,即用户可以拥有一个纪律,但它是可选的。
我想知道当我显示用户详细信息时,Rails 惯用的方式是什么来显示成员的纪律。
我的第一个方法
<b>Discipline:</b>
<%=h @member.discipline.name %>
否则工作正常,但如果成员的纪律为 Nil
,则失败并返回 NoMethodError
。在那种情况下,我希望那里什么也没有。
我有几个选择
- 定义方法
Member:discipline_name
如果成员没有学科则返回 "" - 用if限制输出;
“如果”的替代方案是这样的:
<b>Discipline:</b>
<% if @member.discipline %>
<%=h @member.discipline.name %>
<% end %>
这不是一个重大决定,但我想知道是否有一种“惯用方式”来做这件事或一些帮助/其他事情或其他需要考虑的事情。
br,桃子
最佳答案
在我看来,惯用的方式是:
<b>Discipline:</b>
<%=h @member.discipline.name if @member.displince.present? %>
关于ruby-on-rails - rails View : Idiomatic way to show description for an association object that can be null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5563399/