ruby-on-rails - 在 Rails View 中避免 nil

标签 ruby-on-rails model-view-controller null

我确定这已经被问到了,但我找不到答案。

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

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

<%=h project.client && project.client.name %>

因为如果项目没有客户端,则尝试访问 project.client.name导致 NoMethodError ( nil 没有名为 name 的方法)。

问题是,在 View 中进行这种 nil 检查是否可以接受,还是我应该寻找另一种方法来解决它?

最佳答案

只需使用

project.client.try(:name)

关于ruby-on-rails - 在 Rails View 中避免 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3537639/

相关文章:

sql - 错误 : invalid input syntax for integer: ""

null - Powershell 2.0 在字符之间生成空值

mysql - 当不为空时选择一行

ruby-on-rails - 在 rspec 请求规范中使用请求方法

ruby-on-rails - 在 Ruby on Rails 3 应用程序中实现设置的首选方法是什么?

javascript - 如何使用 jQuery 从 URL 中仅获取 Controller 名称和操作名称

c# - 所有的逻辑应该写在 Controller 里面?

ruby-on-rails - 为什么我的自引用模板会破坏控制台和 rake 中的缓存摘要计算,但不会破坏服务器中的缓存摘要计算?

ruby-on-rails - 如何在 Ruby on Rails 中使用带有邮件程序的实例变量?

model-view-controller - 如何更改backbone.js中的特定模型数据