【发布时间】:2014-04-23 14:27:28
【问题描述】:
我正在使用 partial for new 和 edit 在 rails 中创建编辑表单 我正在使用日期选择器 jquery,因此用户可以使用 jquery-ui 选择日期
我的问题是如何格式化所有日期字段 因为在编辑表单中它都显示'YYYY-MM-DD' 我希望它显示“dd-mm-yyyy”
例如预订日期,它显示 2014-04-20,我想要 20-04-2014
我确实改变了 配置/初始化程序/date_formats.rb 日期::DATE_FORMATS[:default] = "%d-%m-%Y" 它只在显示形式下工作,而不是在编辑模式下工作
也在 rails 控制台(使用调试器)我检查日期格式是 'YYYY-MM-DD' 有没有办法改变它
下面是我的show.html.erb和edit.html.erb(部分)供参考
show.html.erb
<% if logged_in? %>
<p>Booking Date <br> <%= @booking.booking_date %> </p>
edit.html.erb
<%= form_for @booking do |f| %>
<%= render 'common/form_errors', object: @booking %>
<%= f.label :booking_date, "Booking Date" %><br>
<%= f.text_field :booking_date, :class => :datepicker, size: 10 %>
【问题讨论】:
-
嗨,如果当你把 @booking.booking_date 像 Rails 一样放置时,'show' 工作正常,但你提到'edit' 仍然以错误的格式显示日期,这可能可能与 jQuery 有关,如果是这样,这可能会有所帮助:api.jqueryui.com/datepicker/#option-dateFormat
-
谢谢,我确实删除了 datepicker 类并刷新了页面,但我仍然得到相同的结果
-
删除类不会解决问题,而是尝试将格式添加到 javascript 代码中的日期选择器中,如下所示: datepicker({ dateFormat: "dd-mm-yyyy" })
-
谢谢,是的,我以前做过,如果我在从 jquery-ui 中选择日期后单击字段,它将显示 dd-mm-yyyy 但在我单击显示yyyy-的字段之前mm-dd
-
这个link对你有帮助
标签: jquery ruby-on-rails ruby date ruby-on-rails-4