gpt4 book ai didi

ruby-on-rails - 自定义 Ruby 方法不适用于 nil 对象

转载 作者:数据小太阳 更新时间:2023-10-29 08:23:13 29 4
gpt4 key购买 nike

我有以下客户 Ruby 方法:

class Fixnum
def utc_datetime
Time.at(self).utc.to_datetime
end
end

我会这样使用它:

time = 1386592732
time.utc_datetime

问题是当 timenil 时。当它是 nil 时,它抛出这个:

NoMethodError: undefined method `utc_datetime' for nil:NilClass

如何避免 NoMethodError

另一个使仅调用 if 语句来检查变得有点困难的用例是它有时用于这样的事情:

Article.create(account: 1, published_at: time.utc_datetime, title: 'Example')

最佳答案

time.try(:utc_datetime) 将尝试为您调用该方法,并将返回调用的返回值或 nil(如果不存在) .

关于ruby-on-rails - 自定义 Ruby 方法不适用于 nil 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20476687/

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