2010-09-05 39 views
1

我有这样的控制器:让RAILS以特定格式返回dateTime?

class SchedulesController "post", :except => :index 

    def index 
    #Schedules.create(:id => -1, :deviceId => "2002", :subject => "Test 2", :scheduleTime => Time.new, :repeatEveryYear => "FALSE") 
    #@schedules = Schedules.all 
    respond_to do |format| 
     format.html # list.html.erb 
     format.json { render :json => @schedules.to_json } 
    end 
    end 

    def create 
    @schedule = Schedules.new.from_json(params[:schedule]) 
    @schedule.save 
    render :json => "success" 
    end 
end

附表有日期时间字段,我怎么能得到控制返回这段时间格式为 “YYYY-MM-DD HH:MM:ZZZZ”(ZZZZ =具体GMT时区)?

谢谢 瑟伦

回答

3

您可以在初始化指定的日期和时间格式。例如,创建文件的配置/初始化/ time.rb并把下面的代码:

Time::DATE_FORMATS[:schedule] = "%Y-%m-%d %H:%M:%z" 

然后在您的Schedule.rb:

def formatted_schedule_time 
    scheduleTime.to_s(:schedule) 
end 

而每一次调用to_json方法上计划对象,您需要:

@schedule.to_json(:methods => [:formatted_schedule_time])