В моей местной среде все работает отлично.Когда я загружаю на свой сервер, я продолжаю получать внутреннюю ошибку сервера.Я закомментировал свой код, пока не нашел ошибочную строку:
dateObj = dateObj.next_month #Problem Child
Вот полный код:
def makeCal(dateObj)
cal = Hash.new
months = 0
while months < 12
# #pass dateobj to build array
array = buildArray(dateObj)
# #save array to hash with month key
monthName = Date::MONTHNAMES[dateObj.mon]
cal[monthName] = array
# #create new date object using month and set it to the first
date = dateObj.month.to_s + '/' + 1.to_s + '/' + dateObj.year.to_s
dateObj = Date.strptime(date, "%m/%d/%Y")
puts dateObj.kind_of? Date
dateObj = dateObj.next_month #Problem Child
months = months + 1
end
cal
end
И ruby -v локально:
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin10.8.0]
и ruby -v удаленно:
ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux]
Есть идеи, как это решить?
ОБНОВЛЕНИЕ:
173.26.190.206 - - [03 / Sep / 2011 10:40:17] "POST / calendar" 500 30 0,0020
Это из nginx
, и это трассировка стека:
NoMethodError - undefined method `next_month' for #<Date: 4911549/2,0,2299161>:
./main.rb:82:in `makeCal'
./main.rb:120:in `POST /calendar'
Я вставил строку: ставит dateObj.kind_of?Дата
и я все понимаю.Так что мой dateObj имеет вид Date