Во время недавнего рефакторинга мы изменили способ хранения пользовательских аватаров, не понимая, что после развертывания это повлияет на всех существующих пользователей. Итак, теперь я пытаюсь написать грабли, чтобы исправить это, выполнив что-то вроде этого.
namespace :fix do
desc "Create associated ImageAttachment using data in the Users photo fields"
task :user_avatars => :environment do
class User
# Paperclip
has_attached_file :photo ... <paperclip stuff, styles etc>
end
User.all.each do |user|
i = ImageAttachment.new
i.photo_url = user.photo.url
user.image_attachments << i
end
end
end
Когда я пытаюсь запустить его, я получаю неопределенный метод has_attached_file для пользователя: Class
Я могу сделать это в скрипте / консоли, но кажется, что он не может найти методы плагина paperclip из задачи rake.