2

私が取り組んでいるアプリケーション(レール4.2.7)は、同じデータモデルUser(以下のスキーマ)の2つの異なるフィールドの画像をアップロードするためにcarrierwavepaperclipの両方を使用しています。同じレールモデル上の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_filecarrierwaveアップローダーです。

さて、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?

ご協力いただきますようお願い申し上げます。ありがとうございました!

答えて

0

DelayedPaperclipをフォークして名前を変更するだけの価値があります。その向こうには、潜在的にDelayedPaperclipを拡張しようとする可能性があり及び方法エイリアス:

module AliasDelayedPaperclip extend DelayedPaperclip alias_method :paperclip_process_in_background, :process_in_background end

私はこれをテストしていない、それはおそらく、実際に動作するように修正のビットを必要とするが、それは、少なくとも提案ですあなたが追求できる道

関連する問題