在Rails视图中避免使用nil

Ski*_*ick 5 model-view-controller null ruby-on-rails

我确信已经有人问过,但我找不到答案.

我有一个项目模型,它belongs_to与我的客户端模型有关系.客户端有一个名称,但项目不一定有客户端.

在我看来,我有这样的代码:

<%=h project.client && project.client.name %>
Run Code Online (Sandbox Code Playgroud)

因为如果项目没有客户端,那么尝试访问project.client.name会导致NoMethodError(nil没有调用的方法name).

问题是,在视图中进行这种零检查是否可以接受,或者我是否应该寻找另一种方法?

Rea*_*onk 10

只是用

project.client.try(:name)
Run Code Online (Sandbox Code Playgroud)