tengo una relación modelo donde today
tiene muchas tasks
elementos Cómo hacer un pedido incluidos en los carriles 3
Estoy tratando de recuperar el objeto de un usuario today
, incluya el tasks
y se los hacen a JSON. Todo esto fue genial hasta que decidí que quería pedir el tasks
dentro del objeto today
porque respond_with block
también se usa para representar la página html. ¿Hay alguna manera de incluir el tasks
y ordenarlos?
estoy intentando algo como esto:
class TodaysController < ApplicationController
respond_to :html, :json
def show
@today = Today.where(:user_id => current_user.id).joins(:tasks).includes(:tasks).order(:priority).first
respond_with @today, :include => :tasks
end
end
Esto recupera todo correctamente, pero no parece que ordenar las tareas en absoluto.
Esto es lo que solía tener (que funcionaba muy bien, pero no tienen el orden):
class TodaysController < ApplicationController
respond_to :html, :json
def show
@today = current_user.today
respond_with @today, :include => :tasks
end
end
sé que puedo recuperar los datos y ordenar que después de esta manera:
@today = current_user.today
@today.tasks.sort!{|a,b| a.priority <=> b.priority }
Esto funciona y pasará mis pruebas, pero esperaba una forma ActiveRecord para resolver esto.
En cuanto a su última línea de código. Lo siguiente es un poco más claro: '@ today.tasks.sort_by (&: priority)'. – DNNX