csv_content = CSV.generate do |csv|
csv << [
"Bus number",
"Bus name",
"Bus Driver Name",
]
@buses.each do |bus|
csv << [
bus.number,
bus.name,
bus.driver.name
]
end
end
以下是生成csv内容的代码段, 但是,如果bus.driver为nil,则bus.driver.name将抛出nil类错误。 我怎么能返回nil呢? 我们怎样才能更优雅呢?
答案 0 :(得分:2)
如果您使用的是Rails(或Active Support):
bus.driver.try(:name)
如果没有,请自行添加:
class Object
alias :try :send
end
class NilClass
def try(method); end
end