我有一個表單域在我的Rails視圖是這樣的:的Rails 3.1 text_field形式助手和jQuery日期選擇器日期格式
<%= f.text_field :date, :class => "datepicker" %>
的JavaScript函數類的所有輸入字段轉換爲jQueryUI的日期選擇器。
$(".datepicker").datepicker({
dateFormat : "dd MM yy",
buttonImageOnly : true,
buttonImage : "<%= asset_path('iconDatePicker.gif') %>",
showOn : "both",
changeMonth : true,
changeYear : true,
yearRange : "c-20:c+5"
})
到目前爲止好。我可以編輯記錄,並一直持續到數據庫的日期。我的問題是當我想再次編輯記錄。當表格從記錄預填充時,它將以'yyyy-mm-dd'格式顯示。 javascript只格式化在datepicker控件中選擇的日期。有什麼辦法可以格式化從數據庫中檢索的日期嗎?我可以在哪個階段做到這一點?
謝謝, Dany。
在下面的討論之後的一些更多細節,我的表單分佈在兩個文件,一個視圖和一個部分。這裏的觀點:
<%= form_tag("/shows/update_individual", :method => "put") do %>
<% for show in @shows %>
<%= fields_for "shows[]", show do |f| %>
<%= render "fields", :f => f %>
<% end %>
<% end %>
<%= submit_tag "Submit"%>
<% end %>
而這裏的_fields
局部視圖:
<p>
<%= f.label :name %>
<%= f.text_field :name %>
</p>
<p>
<%= f.date %>
<%= f.label :date %>
<%= f.text_field :date, :class => "datepicker" %>
</p>
控制器代碼:
def edit_individual
@shows = Show.find(params[:show_ids])
end
我已經添加在environment.rb
如下:
Date::DATE_FORMATS.merge!(
:default => "%d %B %Y"
)
現在它在視圖中使用@ show.date時顯示正確的格式,但窗體幫助程序仍顯示原始格式。
是的,我意識到,但我不知道如何格式化日期,因爲它出來的數據庫... – codedog
增加了一個例子。在助手或模型方面會有更優雅的方法來處理它。 – Jayendra
由於@日期爲零,我收到一個錯誤。如何獲得當前由表單助手引用的記錄? – codedog