muszę uruchomić następujący kod w mojej aplikacji Rails:Dlaczego nie można przeanalizować łańcucha daty zapisanego w zmiennej w Ruby?
ActiveSupport::TimeZone["Central Time (US & Canada)"].parse(game.date).utc.to_date.strftime("%_m/%d")[1..-1]
Jeżeli gra jest @games.each do |game|
Ale to nie działa, pojawia się błąd, TypeError: no implicit conversion of ActiveSupport::TimeWithZone into String
.
Jednak mogę uruchomić:
ActiveSupport::TimeZone["Central Time (US & Canada)"].parse("2014-04-11 12am").utc.to_date.strftime("%_m/%d")[1..-1]
która zwraca „4/11”
Jak mogę wykorzystać powyższy kod z `game.date” zamiast zakodowanego ciągu?
obiekt EDIT
Gra wygląda następująco (od db/seeds.rb):
Game.create(id: 9, date: "2014-04-11 12am", time: "705PM", opponent: "Jacksonville", away: false, event: "friday night fireworks")
EDIT 2
W konsoli szyn Kiedy zrobić grę .date zwraca:
Fri, 11 Apr 2014 00:00:00 UTC +00:00
, więc wydaje się, że nie jest ciągiem znaków.
jest 'game.date' ciąg lub inną datę typu obiektu? – lurker
Czy możesz wysłać przykładowy obiekt gry lub tablicę gier? –
Edytowałem moje pytanie. Dzięki! – reknirt