Я ищу решение, как сортировать по атрибуту, который имеет два уровня ассоциации, а также имеет условие.
У меня есть модель заказа, которая ДОЛЖНА быть связана с моделью магазина ИЛИ моделью склада, обе эти модели связаны со страной, у которой есть имя.
Мои цели:
Определил заказы и отсортировал по названию страны.
Результат должен быть объектом ActiveRelation
И основная цель - использовать эту область для гема MetaSearch для вспомогательного вида sort_link.
class Order < ActiveRecord::Base
belongs_to :shop
belongs_to :warehouse
validate :shop_id, :presence => true, :if => "warehouse_id.nil?"
validate :warehouse_id, :presence => true, :if => "shop_id.nil?"
#the case with shop_id.present? && warehouse_id.present? does not exist
scope :sort_by_country_name, ???
end
class Shop < ActiveRecord::Base
belongs_to :country
end
class Warehouse < ActiveRecord::Base
belongs_to :country
end
Country.coulumn_names => [:id, :name, ...]
На самом деле я не знаю, возможно ли это, поэтому я ценю любые советы.
Спасибо