I should probably clarify that the column type of begin_date above is a DATETIME, which usually renders as yyyy-mm-dd hh:mm:ss (at least in the MySQL client), so something is formatting that in a way that encode_json can't digest.
On Nov 27, 1:40 am, Mark Richman <[email protected]> wrote: > I'm not sure if this is a DataMapper issue or something more Rails- > specific, but I figured I'd ask in here first: > > NoMethodError: undefined method `encode_json' for Sun, 28 Nov 2010 > 00:00:00 -0500:DateTime > > I have a model defined as follows: > > class Match > include DataMapper::Resource > > storage_names[:default] = 'matches' > property :id, Serial, :field => 'matches_id', :required => true > > def self.find_matches > repository.adapter.select <<-SQL > select > m.matches_id, > m.begin_date, > m.windows_time_zone, > team1_id, > team2_id, > t1.name as team1, > t2.name as team2, > m.status, > COALESCE(md.name,'') as match_day_name, > s.name as season_name, > r.name as round_name, > c.name as competition_name, > COALESCE(g.name,'') as group_name, > COALESCE(m.use_gsm,'N') as use_gsm, > COALESCE(m.team1_finalscore,0) as team1_score, > COALESCE(m.team2_finalscore,0) as team2_score > from matches m > inner join round r on (r.round_id = m.round_id) > inner join season s on (s.season_id = r.season_id) > inner join competition c on (c.competition_id = > s.competition_id) > inner join team t1 on (t1.team_id = m.team1_id) > inner join team t2 on (t2.team_id = m.team2_id) > left outer join match_day md on (m.match_day_id = > md.match_day_id) > left outer join groups g on (r.round_id = g.round_id) > where m.begin_date <= (CURDATE() + interval 1 day) > and m.begin_date >= (CURDATE() - interval 1 day) > order by m.begin_date desc > SQL > end > > end > > Calling Match.find_matches from the console returns an array of > structs like the following: > > #<struct matches_id=54235, begin_date=Sun, 28 Nov 2010 00:00:00 -0500, > windows_time_zone="Morocco Standard Time", team1_id=937, team2_id=943, > team1="Deportes Tolima", team2="La Equidad", status="N", > match_day_name="Cuadrangular Semifinal Fecha 3", > season_name="Finalizacion 2010", round_name="Cuadrangular Semifinal", > competition_name="Liga Postobon - Colombia", group_name="", > use_gsm="N", team1_score=0, team2_score=0> > > It appears that to_json is choking on the begin_date format. Is there > anything I can do to correct this? I'm using MySQL 5.1 if that helps. > > Thanks, > Mark -- You received this message because you are subscribed to the Google Groups "DataMapper" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/datamapper?hl=en.
