gpt4 book ai didi

ruby-on-rails - ActiveModel 验证自定义 setter

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

假设我在 activemodel 模型 DateRange 上有一个自定义 setter ,用于在输入字符串时自动设置 DateTime 属性。看起来像这样

  def from=(value)
@from = value.to_date
end

现在,如果您输入有效的日期字符串,这确实有效,但如果您输入无效的日期,它会使我的应用程序停止。我怎样才能取消分配,以便应用程序继续运行,而 DateRange 稍后在我的 Controller 中验证失败?

最佳答案

def from=(value)
begin
@from = value.to_date
rescue ArgumentError, NoMethodError
errors.add(:from, "is not a valid date")
end
end

可能是更好的方法,但应该可行

关于ruby-on-rails - ActiveModel 验证自定义 setter ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22171187/

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