rails joins inner includes active ruby-on-rails-3 sorting

ruby-on-rails-3 - joins - rails order



La mejor manera de implementar clasifica asc o desc en rieles (3)

¿Existe una manera elegante de implementar acciones de clasificación asc y desc en las vistas / controlador en los rieles?

Lo que tengo es la vista común index.html.erb que enumera todos mis datos de cierto modelo y quiero agregar algunos botones pequeños (o hacer que se haga clic en el título) para ordenar la lista ascendente o descendente de esa columna. Me pregunto si hay una forma elegante y eficiente de hacerlo o si debo agregar un nuevo controlador para cada columna (o botón) Quiero que ocurra esta acción.


Aquí hay una relación de datos que muestra cómo accedemos al nombre en orden de adhesión.

@results = Result.has_pro.ascending(:name).page(params[:page])


Hace poco usé una gema llamada sorted con buenos resultados en caso de que quiera usar una solución preempaquetada para esto en lugar de implementar la suya propia.

https://github.com/mynameisrufus/sorted


Aquí hay dos ejemplos que estoy usando. El primero con @plans es donde solo quiero ordenar un decimal de menor a mayor. El otro ejemplo es un poco más complicado en el que quiero ordenar los archivos de usuario del más reciente al más antiguo. Luego utilicé una segunda variable para agrupar los archivos por la fecha de creación. Ambos ejemplos fueron realizados en los controladores.

@plans = Plan.order("price") @files= @user.files.order("id DESC").all @dates = @files.group_by { |t| t.created_at }

Para ver los botones en los que puede hacer clic en su vista, consulte el episodio de Ryan Bates Railscast que cubre esta información.

http://railscasts.com/episodes/228-sortable-table-columns