Как я могу настроить разбор даты в Rails из параметров? - PullRequest
3 голосов
/ 23 ноября 2010

Я хочу отформатировать даты в jQuery с помощью средства выбора даты UI следующим образом:

Sunday - 11/28/2010

Как / где я могу подключить пользовательский парсер для Rails, чтобы он работал так:

def create
  puts params[:event] #=> {"my_date"=>"Sunday - 11/28/2010"}
  event = Event.new(params[:event])
  puts event.my_date #=> nil
end

Это работает:

def create
  puts params[:event] #=> {"my_date"=>"11/28/2010"}
  event = Event.new(params[:event])
  puts event.my_date #=> Mon, 22 Nov 2010
end

Как Rails это делает?

Ответы [ 3 ]

2 голосов
/ 23 ноября 2010

Вы можете использовать Chronic, парсер даты / времени на естественном языке

Time.now   #=> Sun Aug 27 23:18:25 PDT 2006

Chronic.parse('tomorrow')
#=> Mon Aug 28 12:00:00 PDT 2006

Chronic.parse('monday', :context => :past)
#=> Mon Aug 21 12:00:00 PDT 2006

Chronic.parse('this tuesday 5:00')
#=> Tue Aug 29 17:00:00 PDT 2006

Chronic.parse('may 27th', :guess => false)
#=> Sun May 27 00:00:00 PDT 2007..Mon May 28 00:00:00 PDT 2007

http://chronic.rubyforge.org/

0 голосов
/ 24 ноября 2010
0 голосов
/ 23 ноября 2010
params[:event][:my_date] = Date.parse(params[:event][:my_date])  
event = Event.new(params[:event])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...