gpt4 book ai didi

ruby-on-rails - ActiveRecord 关系 : undefined method for nil:NilClass

转载 作者:行者123 更新时间:2023-12-04 07:36:19 25 4
gpt4 key购买 nike

考虑以下几点:

class Manager < ActiveRecord::Base
has_many :employees
end
class Employee < ActiveRecord::Base
belongs_to :manager
end


employee = Employee.first
puts employee.manager.name

如果由于某种原因员工没有经理,我会得到这个:

undefined method `name' for nil:NilClass

这是有道理的。但是,有没有一种干净/建议的方法来处理这个问题,这样我就不必总是在询问经理的姓名之前检查并查看员工是否真的有经理?<​​/p>

最佳答案

尝试:

puts employee.manager.name unless employee.manager.nil?

或者:

puts (employee.manager.nil? ? "No manager" : employee.manager.name)

在这种情况下相当于:

puts (employee.manager ? employee.manager.name : "No manager")

(等同于employee.manager不能返回false。)

关于ruby-on-rails - ActiveRecord 关系 : undefined method for nil:NilClass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16450698/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com