How can I configure Rails date parsing from parameters?

I want to format dates in jQuery using a custom date id, for example:

Sunday - 11/28/2010

How / where can I connect my own parser for Rails so that it works like this:

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

It works:

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

What does Rails do for this?

+3
source share
3 answers

You can use Chronic, a parser for determining the date and time in natural language

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/

+2
source
params [: event] [: my_date] = Date.parse (params [: event] [: my_date])  
event = Event.new (params [: event])
0
source

Source: https://habr.com/ru/post/1776325/


All Articles