Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Ruby On Rails > paperclip:картинки в разных моделях


Автор: RedAlliance 21.3.2011, 20:20
у меня 2 модели,использующие аватарки:users и changeprofiles.
аватарку пользователь загружает при регистрации(загружается в таблицу users),если он хочет поменять её(или другие данные профайла)-он заполняет форму и данные записываются в changeprofiles,если администратор разрешает изменение-из таблицы changeprofiles данные переносятся в таблицу users.
в обоих моделях добавлено следующее:
Код
has_attached_file :avatar, :styles => { :small => "50x50>", :medium => "200x200>", :thumb => "100x100>" },
                  :url  => "/images/avatars/:id/:style/:basename.:extension"

вопрос:как перенести в users данные об аватарке?ведь в урл записываются id в модели(то есть номер записи в таблице)..

если сделать так:
Код
person.avatar_file_name = changes.avatar_file_name
person.avatar_content_type = changes.avatar_content_type
person.avatar_file_size = changes.avatar_file_size
person.avatar_updated_at = changes.avatar_updated_at

то данные перенесутся,но папку(=id) (и соответственно,аватарку) пользователь не увидит..

если так:
Код
person.update_attributes(:avatar => params[:changes][:avatar])

то ругается на nil[],то есть пустой массив,так как это не массив...

если так:
Код
person.update_attributes(:avatar => changes[:avatar])

или так:
Код
person.update_attributes(:avatar => changes.avatar)

то в таблицу users в поля,касающиеся аватара,вписываются NULL...

как решить сию проблему?

Автор: RedAlliance 22.3.2011, 21:16
в итоге стала копировать не только параметры аватарок, но и переносить файлы из одной папки в другую с помощью File.move (+ в development.rb добавила  require 'ftools')

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)