У меня есть следующая структура моделидоступа к attr_writer на вложенную asstribute актив из файла uplaoded через форму
class Asset < ActiveRecord::Base
attr_writer :session_user_id
...
end
class Item < ActiveRecord::Base
has_many :assets, :as => :assetable, :dependent => :destroy
...
end
и хотят поставить user_id в значении, связанное с активом. У меня проблема, связанная с переменной в uplodated файле. Вот данные после этого:
"assets_attributes"=>{"3"=>{"asset"=>#<ActionDispatch::Http::UploadedFile:0x007fd04dde17f8 @original_filename="nautugly.jpg",
@content_type="image/jpeg",
@headers="Content-Disposition: form-data; name=\"menu_item[assets_attributes][3][asset]\"; filename=\"nautugly.jpg\"\r\nContent-Type: image/jpeg\r\n",
@tempfile=#<File:/var/folders/94/slp2488s6nvgg8qq0g0p5c0m0000gn/T/RackMultipart20120323-51480-1lpa754>>,
"description"=>""},...
и хотите получить доступ к session_user_id в Asset. В items_controller, я добавил:
params[:item][:assets_attributes].each_with_index do |value, key|
value.each do |y|
y.asset.session_user_id=12
end
, но я получаю сообщ об ошибке:
undefined method `asset' for "3":String
Я чувствую, что я перепробовал все изменения. Любые идеи, как заставить это работать?
ТНХ
хмм ... это, кажется, не работает. Я просто пытаюсь получить user_id asssociated с активом. Не должно быть этого жесткого – timpone