2010-09-05 41 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])