Я думаю, Rails / Ruby не может проанализировать дату в этом формате:
$("#question_deadline").datepicker("option", "dateFormat", "DD, d MM, yy");
// full day name, day (w/o leading zero), full month name, 4-digit year
В вашем контроллере вы можете добавить строку, такую как
def create/update
...
@question.deadline = DateTime.strptime(params[:question][:deadline], '%A, %d %B, %Y')
# assuming my jquery-to-ruby format-mapping is adequate ;-)
if @question.save
...
end
Помните, что этот код легко разбивается на искаженные строки даты.
Если вы не хотите менять формат, например 'yy-mm-dd'
(в Ruby-land это '%Y-%m-%d'
), вы можете захотетьзаполнить выбранную дату другим элементом HTML с помощью опции altField
и скрыть фактическое поле ввода даты с помощью CSS:
$("#somewhere_else").datepicker(
dateFormat: "%yy-%mm-%dd",
altField: "#question_deadline",
altFormat: "DD, d MM, yy",
...
);
<%= form_for @question do |f| %>
...
<%= text_field_tag 'somewhere_else', @question.deadline %>
<%= f.hidden_field :deadline %>
...
<% end %>
Это будет работать, по крайней мере, дляя: -)
- Доминик