【发布时间】:2017-01-13 21:35:51
【问题描述】:
在我的 Rails 5 + Postgres 应用程序中,我进行如下查询:
user = User.where("name = ?", name).first.email
所以这给了我第一个具有该名称的用户的电子邮件。
但如果不存在具有此名称的用户,我会收到错误消息:
NoMethodError(nil:NilClass 的未定义方法 `email')
在使用该方法之前如何检查我是否有任何结果?
我可以考虑使用 if 子句的各种方法:
user = User.where("name = ?", name).first
if user
user_email = user.email
end
但这似乎不是最优雅的方式,我相信 Rails 有更好的方式。
【问题讨论】:
标签: ruby-on-rails postgresql activerecord rails-activerecord