0
新手問題。我有以下型號:多態關聯並設置資產的默認值
class Asset < ActiveRecord::Base
belongs_to :assetable, :polymorphic => true
#paperclip
has_attached_file :asset,
:hash_secret => "my-secret",
:url => "/images/:hash_:basename_:style.:extension",
:path => UPLOAD_PATH + "/:hash_:basename_:style.:extension",
:styles => { :medium => "300x300>", :thumb => "75x75>"
}
end
class Location < ActiveRecord::Base
has_many :assets, :as => :assetable, :dependent => :destroy
end
class MenuItem < ActiveRecord::Base
has_many :assets, :as => :assetable
end
我的資產有一個名爲description的屬性。如果assetable_type是一個「MenuItem」並且描述爲零,我希望描述是關聯的menu_item的正文。我將如何做到這一點?
THX
我能不能做到這一點的訪問,如果它是一個菜單項和描述爲空。換句話說,即使它是一個menu_item,允許管理員用戶覆蓋描述?看起來不是,我得到一個'堆棧層太深'的錯誤 – timpone 2012-01-04 05:20:17
在訪問器中,你必須使用'self [:description]'而不是'description'或'self.description',否則它會遞歸地調用你的方法。我更新了我的答案。 – Robin 2012-01-04 17:25:44