0

私のレールアプリでは、cloudinary クラウドにアップロードされた画像にタグを追加しようとしています。

私のcarrierwave、ImageUploaderクラスで

include Cloudinary::CarrierWave

 # def cache_dir
 #   "#{Rails.root}/tmp/uploads"
 # end
 # 

process :convert => 'jpg'
cloudinary_transformation :quality => 80
process :tags => [ 'tag', model.name]

...

タグにレコードの名前を追加しようとしていますが、エラーが発生します

method 'model' is undefined for class ImageUploader.

nameアップローダ内のフィールドの値にアクセスするにはどうすればよいですか。

私はレールが初めてです。

助けてください、事前に感謝します!

4

1 に答える 1

3

以下を使用できます。

class PictureUploader < CarrierWave::Uploader::Base  
  include Cloudinary::CarrierWave

  process :convert => 'jpg'
  cloudinary_transformation 
  :quality => 80
  process :assign_tags

  def assign_tags      
    return :tags => ['tag', model.name]      
  end
end

パラメータのハッシュを返す任意のメソッドを定義できます。次に、'process' 呼び出しを使用してカスタム メソッドを適用できます。パラメータは、アップロード API 呼び出しに渡されます。

于 2013-06-10T20:07:43.803 に答える