【发布时间】:2021-07-09 04:12:12
【问题描述】:
我正在使用 Rails 2.3 并尝试在第一次填写所有必填字段时更改表单的提交日期。
这是我在before_save 和before_update 中尝试过的:
if ((self.required_fields_filled == true) and (self.required_fields_filled_was == false))
self.submitted_at = Time.now
end
只要required_fields_filled 当前为真,它总是将submitted_at 更新为Time.now
知道我做错了什么吗?
【问题讨论】:
-
我认为您不应该使用
required_fields_filled来满足您的要求only the first time,因为有一种情况是required_fields_filled == true和required_fields_filled_was == false在{n} 次(例如用户第一次填写所有,下次他删除一个字段时,他会再次使用完整字段进行更新submitted_at 是nil(第一次)并填充所有字段(在逻辑上,不需要数据库字段),很容易实现您的要求。 -
问题是 - 我希望用户能够填写表单并保存他们的进度而不填写所有必填字段,然后在所有必填字段后提交表单已填写。因此,我需要这两种资格。
标签: ruby-on-rails activerecord ruby-on-rails-2