gpt4 book ai didi

ruby-on-rails - Ruby on Rails 中的当前年份

转载 作者:太空宇宙 更新时间:2023-11-03 17:00:06 26 4
gpt4 key购买 nike

如何在 Ruby on Rails 中获取当前年份?

我尝试了很多东西,包括

  • 日期.当前.年份
  • 时间.现在.年份

问题是,如果在启动服务器后年份发生变化(例如,新年之后),他们会返回前一年。

相关代码:

模型 brewery.rb

class Brewery < ActiveRecord: :Base
...
validates :year, numericality: { only_integer: true, less_than_or_equal_to: Date.today.year }
...

创建新啤酒厂时出现问题,因此我假设每当该操作发生时都会评估 Date.today.year。

最佳答案

在您的示例中,Date.today.year 仅在类加载时计算一次,因此以后不会更改。

当您在验证器声明中使用 lambda 时,每次检查该属性的验证时都会评估该 block :

validates :year, numericality: { 
only_integer: true,
less_than_or_equal_to: ->(_brewery) { Date.current.year }
}

此外,我建议使用 Date.current 而不是 Date.today 因为 current 方法会注意时区设置。

关于ruby-on-rails - Ruby on Rails 中的当前年份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35227759/

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