我为我的应用程序生成了一个脚手架。数据库有一个日期和时间字段,我想设置当前提交表单的日期和时间。
我在_form.html.erb
创建<div class="field">
<%= f.label :t_date %><br />
<%= f.date_select :t_date %>
</div>
<div class="field">
<%= f.label :t_time %><br />
<%= f.time_select :t_time %>
</div>
但我不希望用户设置它们,但必须作为表单参数传递。 我为他们争取了隐藏的领域,但是即使我把它们设置为隐藏,你也可以发送一个糟糕的表格给json或POST请求我是对的吗? 传递当前日期和时间的正确方法是什么,将它们保存到数据库并在没有用户通知的情况下显示它们?
答案 0 :(得分:0)
除非您需要知道表单已加载而非已提交的确切时间,否则我建议您在收到后立即在控制器中添加当前日期和时间表格提交。很好,很简单,你可以回避用户提交“恶意”日期的可能性。
答案 1 :(得分:0)
如果表单用于创建或更新模型,您只需使用Activerecord提供的时间戳功能。
来自文档:
Active Record会自动为时间戳创建和更新操作 该表具有名为created_at / created_on或的字段 的updated_at / updated_on。