почему для сохранения используется default_scope

В Spree::Product добавлен default_scope для сортировки главной страницы праздничного сайта, область default_scope :include => :product_taxons, :order => "spree_product_taxons.position". Это сортирует его, но затем, когда я пытаюсь обновить продукт, я получаю следующую ошибку

ActiveRecord::StatementInvalid: Mysql2::Error: Unknown column 'spree_product_taxons.position' in 'order clause': UPDATE `spree_products` SET `count_on_hand` = 100 WHERE `spree_products`.`id` = 108 ORDER BY spree_product_taxons.position`

Во-первых, почему он пытается заказать обновление? ну и поле есть

Spree::ProductTaxon
=> Spree::ProductTaxon(id: integer, created_at: datetime, updated_at: datetime, product_id: integer, taxon_id: integer, position: integer)

person geermc4    schedule 03.04.2013    source источник


Ответы (1)


Поле существует в spree_products_taxons, но не в spree_products, отсюда и ошибка. spree_products_taxons include не входит в это обновление.

person Uri Mikhli    schedule 18.12.2013