Первый ответ сломает версию продукта панели администратора и, возможно, другие вещи в стабильной версии 1.1.
неоднозначное имя столбца: created_at
Вы можете исправить это, указав имя таблицы с помощью:
Product.class_eval do
default_scope order("spree_products.created_at DESC")
end
Но я думаю, что лучшим решением было бы исправить контроллер или представление общедоступных продуктов, а не саму модель, поскольку default_scope не может ожидаться везде, и чтобы переключить/удалить порядок, определенный в default_scope, вы должны вызвать .reзаказать()
Вероятно, из-за этого документация SpreeCommerce специально не рекомендует вам добавлять порядок в области продукта:
Источник: http://guides.spreecommerce.com/scopes_and_groups.html#modifying-available-scopes
Поэтому я думаю, что правильный способ сделать это, не нарушая основную модель продукта Spree, — перезаписать шаблон продуктов:
Перезаписать views/spree/shared/_products.html.rb
заменять
<% products.each do |product| %>
с участием
<% products.descend_by_updated_at.each do |product| %>
Источник : https://groups.google.com/forum/#!topic/spree-user/lW5sGsbMTfM
Работает на меня™
person
j15e
schedule
02.08.2012