【发布时间】:2017-02-24 15:43:46
【问题描述】:
我已经阅读并尝试了很多,但没有找到解决方案。
任务很简单:
我有一个 datetime 格式的 schedule_at 列。
我不想在我的表单中设置一个日期时间字段,而是将其拆分为两个字段:一个用于日期,一个用于时间。在我的表中,我想将其保留为一个日期时间字段。
所以在某些时候我必须将日期和时间加入到日期时间。由于我在模型中验证了日期时间,因此无法在控制器中执行此操作。
我尝试了一些方法:
- 创建 attr_accessors(但我找不到在模型中加入日期和时间的方法)
- 在浏览器端通过JS找到一些插件来解决这个问题
- https://github.com/shekibobo/time_splitter,但它也不会加入值
我想很多应用都有这个问题,但仍然无法在互联网上找到解决方案。
您能提出任何解决方案吗?
【问题讨论】:
-
为什么不能在控制器中加入这个?您可以同时允许日期和时间参数,然后这样做:将它们加入控制器中
-
是的,我以前就是这么做的。但我有一些验证规则要在这个日期时间运行。据我了解,最好将这些东西放入模型中......
-
是的,验证应该在模型中,但是您可以在将字段添加到对象之前在控制器中组合参数(并因此触发验证)
-
当然...验证仅在调用 save() 时运行...谢谢!
标签: ruby-on-rails datetime simple-form ruby-on-rails-5