我需要在我的Rails应用程序中为jQuery日期选择器创建一个输入掩码,其中第一个表单字段使用m / d / yy格式,而datepicker使用正确的数据库格式填充隐藏的输入。
我使用的是SimpleForm,因此我扩展了自己的输入,以便输入前面有掩码。
我已经完成了所有设置,在查看浏览器时,在我认为自己完成之前,这一切都运行良好。
表单最后有两个相同属性的输入,每个输入具有相同的id和名称。我从没想过这会起作用。检查开发日志我只看到一个提交日期,两个中的第二个是具有数据库正确格式的日期。
这一切都好吗?我是否应该采取一些额外的步骤,即使这似乎工作得很好,更重要的是,有人可以解释导致这种行为的根本原因吗?
谢谢!
答案 0 :(得分:0)
Rails使用哈希params
来存储提交的字段。当您使用相同的名称声明两个或更多输入时,它会像您执行
h=Hash.new
h[:name]="foo"
h[:name]="bar"
结果为bar
,因为foo
被覆盖。因此,“胜利者”始终是浏览器最后附加到postdata的字段值。
但如果我在哪里,我不会依赖于第二个字段最后附加的浏览器。