Si piensa cómo funciona Rails, las llamadas son solo un método que se relaciona con el modelo de llamada. Hay algunas maneras en que puedes hacer esto. Una es establecer la opción de orden en la asociación. Una de ellas es para cambiar el ámbito predeterminado del modelo de llamadas a nivel mundial, otro crea un nuevo método en el modelo de atención al cliente que devuelve las llamadas
Método 1 (útil si desea hacer cualquier cosa con las llamadas antes de la codificación.):
class Customer < ActiveRecord::Base
has_many :calls, :order => "created_at DESC"
end
ACTUALIZACIÓN
Para carriles 4 y por encima de uso:
class Customer < ActiveRecord::Base
has_many :calls, -> { order('created_at DESC') }
end
Método 2:
class Call < ActiveRecord::Base
default_scope order("created_at DESC")
end
Método 3:
class Call < ActiveRecord::Base
scope :recent, order("created_at DESC")
end
class Customer < ActiveRecord::Base
def recent_calls
calls.recent
end
end
continuación, puede utilizar:
format.json { render :json => @customer, :methods => :recent_calls}
supongo que se puede definir el tipo por defecto, mientras que la definición de la relación. http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html#method-i-has_many – rubish
Lo siento por ser un gramatical nazi, pero render es un término gráfico. La terminología correcta es codificar. – tjameson
@tjameson Están llamando al método render (: json), creo que es seguro referirse a él como renderizando JSON en este contexto. – Gazler