tutorial transformers rails meaning ruby-on-rails activerecord ransack

ruby-on-rails - transformers - ransack rails tutorial



Eliminar orden del alcance de ActiveRecord (2)

Estoy usando rails ransack ( https://github.com/ernie/ransack ) para permitir a los usuarios filtrar y ordenar algunos registros. Obtengo los registros filtrados y ordenados usando métodos tradicionales.

@invoices = Invoice.search(params[:q]).result

Ahora me gustaría obtener información resumida, así que tengo

@invoices = Invoice.search(params[:q]).result @summary = @invoices.select("sum(balance) as balance_total").first

Excepto cuando el usuario especifica un campo para ordenar. Me sale el error de SQL:

Column "project_name" is invalid in the ORDER BY clause because it is not contained in either an aggregate function or the GROUP BY clause

¿Puedo eliminar el género del alcance? ¿Cómo?

Gracias


Puede llamar al método de reorder con una cadena vacía. P.ej:

> Article.order(''headline asc'').to_sql => "SELECT `articles`.* FROM `articles` ORDER BY headline asc" > Article.order(''headline asc'').reorder('''').to_sql => "SELECT `articles`.* FROM `articles` "