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?
Fred
>
> 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)
>
> thanks
> Rod
>
> --
> Posted via http://www.ruby-forum.com/.
>
--
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/rubyonrails-talk/de6e8cfc-9c8b-47f1-8b57-98183911f071%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.