最近のいくつかのリファクタリング中に、ユーザー アバターの保存方法を変更しましたが、一度展開すると既存のすべてのユーザーに影響を与えることに気づきませんでした。だから今、私はこのようなことをしてこれを修正するためのレーキタスクを書こうとしています。
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
それを実行しようとすると、 User:Class の未定義のメソッド `has_attached_file' が取得されます
スクリプト/コンソールでこれを行うことができますが、rake タスクから paperclip プラグインのメソッドを見つけることができないようです。