我一直收到这个错误
#<NoMethodError: undefined method `hours' for "1":String>
更新:我收到任何数字的错误,而不仅仅是“1”
这是我要返回几个小时的代码。我正在使用这种方法
def check_hours(most_recent_snooze)
if most_recent_snooze.duration.nil?
return 0.hours
else
return most_recent_snooze.duration.hours
end
end
这些代码使用 check_hours(most_recent_snooze) 方法
def snoozing?
if most_recent_snooze = Snooze.find_by_sensor_id(self.id)
if most_recent_snooze && !(most_recent_snooze.created_at + check_hours(most_recent_snooze) < Time.now)
# snooze is active
return true
else
most_recent_snooze.destroy
return false
end
end
return false
#self.snoozes.active.present? ? true : false
end
def snooze_minutes_remaining
# (60 - (Time.now - self.snoozes.last.created_at)/60).to_i + 1
most_recent_snooze = Snooze.find_by_sensor_id(self.id)
distance_of_time_in_words(Time.now, most_recent_snooze.created_at + check_hours(most_recent_snooze)) if most_recent_snooze
end
请让我知道我在此代码上哪里出错了?
更新:在 schema.rb 中,持续时间是整数
create_table "打盹", :force => true do |t|
.......
........
.........
t.integer "持续时间"
结束