2つの関連レベルの深さで、条件もある属性でソートする方法を探しています。
Shop モデルまたは Warehouse モデルと関連付ける必要がある注文モデルがあります。これらのモデルは両方とも、名前を持つ国に関連付けられています。
私の目標は次のとおりです。
注文を絞り込み、国名で並べ替えます。
結果は ActiveRelation オブジェクトでなければなりません
そして主な目標は、ビュー ヘルパー sort_link の MetaSearch gem にこのスコープを使用することです
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, ...]
実際にこれが可能かどうかわからないので、アドバイスをいただければ幸いです。
ありがとう