2010-11-22 44 views
3

我想使用UI日期選擇器像這樣的jQuery的格式化日期:如何自定義Rails的params日期解析?

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的方式來做到這一點?

回答

2

你可以使用慢性,自然語言日期/時間解析器

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
 
params[:event][:my_date] = Date.parse(params[:event][:my_date]) 
event = Event.new(params[:event])