After I upgraded from rails 3.2 to 4.1.0 I am getting this error
below.
I researched that Rails 4.1 requires a conversion of an
activerecord_relation to an array using to_a. I did use to_a but looks
like rails is modifying sql output and adding a “SELECT COUNT” behind
the scenes in order to convert it to an array. Do you know how to fix
this? Is this a bug in rails 4.1.0?
def index
order_type = params[:order_type] @oh = OrderHeader.select(“orders_header.*, users.username, users.id
as customer_id, users.email, users.phone_work, users.phone_home,
users.phone_cell”).
joins("INNER JOIN users ON users.id = orders_header.customer_id
").
where(“orders_header.order_type=’#{order_type}’ and
orders_header.customer_id=#{session[:user_id]}”).
order(“id desc”).
paginate(:per_page => 10, :page => params[:page])
return @oh.to_a
end
Mysql2::Error: 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 ', users.username, users.id as customer_id, users.email,
users.phone_work, users’ at line 1: SELECT COUNT(orders_header.,
users.username, users.id as customer_id, users.email, users.phone_work,
users.phone_home, users.phone_cell) FROM orders_header INNER JOIN
users ON users.id = orders_header.customer_id WHERE
(orders_header.order_type=‘order’ and orders_header.customer_id=1)
On Friday, April 11, 2014 2:34:12 AM UTC+1, Ruby-Forum.com User wrote:
After I upgraded from rails 3.2 to 4.1 I am getting this error
below.
I researched that Rails 4.1 requires a conversion of an
activerecord_relation to an array using to_a. I did use to_a but looks
like rails is doing a select count behind the scenes. Do you know how to
fix this?
I don’t think the to_a stuff is relevant. Your pagination library
(will_paginate?) is counting the total number of entries and appears to
be
producing a bad query to do that, because of the select query. Perhaps
try
updating it?
On Friday, April 11, 2014 2:34:12 AM UTC+1, Ruby-Forum.com User wrote:
After I upgraded from rails 3.2 to 4.1 I am getting this error
below.
I researched that Rails 4.1 requires a conversion of an
activerecord_relation to an array using to_a. I did use to_a but looks
like rails is doing a select count behind the scenes. Do you know how to
fix this?
I don’t think the to_a stuff is relevant. Your pagination library
(will_paginate?) is counting the total number of entries and appears to
be
producing a bad query to do that, because of the select query. Perhaps
try
updating it?