ruby on rails - Scope ordering by reverse order not working -
i have scope:
scope :latest_photos, -> {order(:created_at).reverse_order.limit(10)}
it's supposed put latest photos in first place right? photos put on last place instead.
i've tried:
scope :latest_photos, -> {order('created_at desc').limit(10)}
but nothing. ideas? thanks!
edit
something not working here:
routes.rb
get 'spots/ultimos' => 'photos#latest
photos controller
def latest @categories = category.all @zones = zone.all @photos = photo.latest_photos @action = 'general' @photos = photo.paginate(:page => params[:page]) render :index end
model
scope :latest_photos, -> {order(created_at: :desc).limit(10)}
def latest @categories = category.all @zones = zone.all @photos = photo.latest_photos @action = 'general' @photos = photo.paginate(:page => params[:page]) render :index end
you have assigned @photos
variable twice, second assignment overrides previous one. instead do:
def latest @categories = category.all @zones = zone.all @photos = photo.latest_photos @action = 'general' render :index end
the actual value assigned depends on want achieve here. since action called latest , have limit in scope, have assumed don't need pagination here.
Comments
Post a Comment