forked from pilotcreative/vote_fu
-
Notifications
You must be signed in to change notification settings - Fork 73
Open
Description
When using tally or plusminus_tally is used in a ActiveRelation it breaks the will_paginate page(params[:page]) or paginate(:page => params[:page]) methods.
I'm not sure who's at fault but I believe thumbs_up may be at fault the way the SQL is structured. If I run a regular relation asking for the count of records returned:
> Violation.without_spammed.order("created_at DESC").page(1).count
(0.4ms) SELECT COUNT(*) FROM "violations" WHERE "violations"."spammed" = 'f'
=> 4And if I use the plusminus_tally in the line:
> Violation.without_spammed.plusminus_tally.reorder("created_at DESC").page(1).count
(0.5ms) SELECT COUNT(*) AS count_all, violations.id, violations.title, violations.description, violations.address, violations.violator_id, violations.created_at, violations.updated_at, violations.user_id, violations.slug, violations.flagged, violations.user_ip, violations.user_agent, violations.referrer, violations.spammed AS violations_id_violations_title_violations_description_violations_address_violations_violator_id_violations_created_at_violations_updated_at_violations_user_id_violations_slug_violations_flagged_violations_user_ip_violations_user_agent_violations_referrer_ FROM "violations" LEFT OUTER JOIN votes ON violations.id = votes.voteable_id AND votes.voteable_type = 'Violation' WHERE "violations"."spammed" = 'f' GROUP BY violations.id, violations.title, violations.description, violations.address, violations.violator_id, violations.created_at, violations.updated_at, violations.user_id, violations.slug, violations.flagged, violations.user_ip, violations.user_agent, violations.referrer, violations.spammed
=> {false=>1}It appears to break what is expected: A result of 4. Please advise!
Environment:
Rails 3.2.11
thumbs_up 0.6.3
will_paginate 3.0.4
Metadata
Metadata
Assignees
Labels
No labels