9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# File 'lib/has_assets.rb', line 9
def has_assets
has_many :assetings, :as => :assetable, :dependent => :delete_all
has_many :assets, :through => :assetings, :order => 'assetings.id'
define_method("asset_ids=") do |new_value|
ids = (new_value || []).reject { |nid| nid.blank? }
ids.collect!{ |id| id.to_i}
logger.debug "ASSETS the same #{ids == self.asset_ids} | IDS #{ids} | #{self.asset_ids}"
return if ids == self.asset_ids
self.assets.clear
ids.each_index do |idx|
self.assets << Asset.find(ids[idx])
end
end
end
|