私はポリモーフィックなアセット モデルを持っていますが、1 つのアセット クラスに対して 2 つの異なるバージョンが必要です。何かのようなもの:
class Location < ActiveRecord::Base
has_many :assets, :as => :assetable, :order => 'position'
has_many :assets :known_as => :cover_images, :as => :assetable, :order => 'position'
この質問を見ました: Rails Polymorphic Association with multiple associations on the same model ですが、自分のモデルで Rails 3.1 に実装すると、次のようになりました。
has_many :assets, :as => :assetable, :order => 'position'
has_one :header_photo, :class_name => 'Asset', :as => 'assetable', :conditions => {:assetable_type => 'header_asset'}, :dependent => :destroy
コンソールを見ると、次のように表示されます。
SELECT `assets`.* FROM `assets` WHERE `assets`.`assetable_id` = 37 AND `assets`.`assetable_type` = 'Location' AND `assets`.`assetable_type` = 'header_asset' LIMIT 1
これは私が望むものではありません。
どうすればいいですか?これを処理するための構文はありますか?
どうも