Ruby on rails 让RAILS以特定格式返回日期时间?

Ruby on rails 让RAILS以特定格式返回日期时间?,ruby-on-rails,Ruby On Rails,我有一个控制器: 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

我有一个控制器:

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字段,如何让控制器返回格式为“yyyy-MM-dd HH:MM:zzzz”(zzzz=特定GMT时区)的时间

多谢各位
瑟伦

您可以在初始值设定项中指定日期和时间格式。例如,创建文件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
每次对Schedule对象调用to_json方法时,都需要执行以下操作:

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