在Rails中,当我尝试评估用户是否为其计算机输入了品牌时,我收到了错误消息:
if @user.computer.brand.empty?
NoMethodError (undefined method 'brand' for nil:NilClass):
如果用户尚未进入计算机,则会返回brand
上没有方法nil class
的错误。检查用户是否同时为该计算机输入computer
和brand
的正确方法是什么?
答案 0 :(得分:2)
尝试try
:
@user.computer.try(:brand)
如果nil
或computer
为computer.brand
,则会返回nil
,否则会返回指定的brand
。
答案 1 :(得分:0)
if @user.computer && @user.computer.brand.present?
答案 2 :(得分:0)