Получение RAILS для возврата dateTime в определенном формате? - PullRequest
1 голос
/ 05 сентября 2010

У меня есть этот контроллер:

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

Расписание имеет поле dateTime, как я могу заставить контроллер возвращать это время в формате «гггг-ММ-дд ЧЧ: мм: zzzz» (zzzz = определенный часовой пояс GMT)?

Спасибо Сорен

1 Ответ

3 голосов
/ 05 сентября 2010

Вы можете указать формат даты и времени в инициализаторах.Например, создайте файл config / initializers / 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 необходимо выполнить:

@schedule.to_json(:methods => [:formatted_schedule_time])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...