ActiveRecord::Calculations::ClassMethods>>count doesn't behave as in Rails 1.1.6


#1

ScheduleItem.count([“id = ?”, 204])
used to work as expected in Rails 1.1.6, i.e. returning the count of
rows where id = 204 …
In 2.1.1 I get the error:

"ActiveRecord::StatementInvalid: ActiveRecord::ActiveRecordError: You
have an error in your SQL syntax; check the manual that corresponds to
your MySQL server version for the right syntax to use near '?204) AS
count_id_204 FROM schedule_items’ at line 1: SELECT count(id = ?204)
AS count_id_204 FROM schedule_items "

Looks like [“id = ?”, id] is not evaluated/resolved correctly
resulting in ‘id = ?204’ instead of ‘id = 204’

Bug?

Thx
Clemens


#2

On 8 Oct 2008, at 13:44, fx3000se wrote:

AS count_id_204 FROM schedule_items "

Looks like [“id = ?”, id] is not evaluated/resolved correctly
resulting in ‘id = ?204’ instead of ‘id = 204’

Bug?

Nope, it changed. This was deprecated in rails 1.2 and removed in 2.0

Fred


#3

On Oct 8, 8:44 pm, fx3000se removed_email_address@domain.invalid wrote:

Looks like [“id = ?”, id] is not evaluated/resolved correctly
resulting in ‘id = ?204’ instead of ‘id = 204’

Bug?

Thx
Clemens

ScheduleItem.count(:conditions => [“id = ?”, 204])


#4

thx :slight_smile: