私が取り組んでいるアプリケーション(レール4.2.7)は、同じデータモデルUser
(以下のスキーマ)の2つの異なるフィールドの画像をアップロードするためにcarrierwave
とpaperclip
の両方を使用しています。同じレールモデル上の2つの異なる宝石から同じ "名前"の異なる2つの方法を使用する方法は?
create_table "users", force: :cascade do |t|
t.string "email"
t.string "first_name", limit: 255
t.string "last_name", limit: 255
t.string "avatar_file_name", limit: 255
t.string "avatar_content_type", limit: 255
t.integer "avatar_file_size"
t.datetime "avatar_updated_at"
t.string "cv_file"
end
avatar
フィールドはクリップオブジェクトであり、cv_file
はcarrierwaveアップローダーです。
さて、cv_file
フィールドのバックグラウンド処理のために、私はcarrierwave_backgrounder宝石を使用していますし、avatar
フィールドのために私はdelayed_paperclip宝石を使用しています。
両方の宝石は、process_in_background
を公開して、画像のアップロードをバックグラウンドで処理します。だから、私のユーザーモデルは次のようになります:
class User < ActiveRecord::Base
# carrierwave
mount_uploader :cv_file, CvFileUploader
process_in_background :cv_file
# paperclip
has_attached_file :avatar,
:default_url => "default-avatar.png",
:styles => {
:thumb => ['100x100#', :jpg, :quality => 80]
}
process_in_background :avatar, processing_image_url: "default-avatar.png"
# ...
end
私はこのエラーをアプリケーション上の任意のページにアクセスしようとしています。
未定義のメソッド `remove_avatar? '
remove_cv_file?
ご協力いただきますようお願い申し上げます。ありがとうございました!