在我的Rails应用中,我有一个简单的表单,按日期过滤所有用户invoices
:
<%= form_tag invoices_path, :method => 'get' do %>
<%= text_field_tag :date, params[:date] %>
<%= submit_tag "Search" %>
<% end %>
当用户以其首选日期格式输入日期时,例如27/07/2014
,我希望将其显示在网址/invoices?date=2014-07-14
中,因为数据库可以更轻松地处理这个问题,并且看起来也比/invoices?date=25%2F07%2F2014
更好。
在Rails中有没有办法转换这样的GET参数?
感谢您的帮助。
答案 0 :(得分:2)
首先,日期美化将在客户端方面完成,因为您希望漂亮的值已经显示在查询参数中。
form_tag
可能会提供onsubmit
回调:
<%= form_tag invoices_path,
:method => 'get'
:onsubmit => 'return validate(this)' do %>
此处validate()
将是一个返回true
或false
的javascript验证方法;你可以自由地美化和覆盖那里的日期值。
可能有更优雅的方式来实现这一目标,但上述方法对我来说效果很好。希望它有所帮助。