Question: How to conditionally override `resource_type`?

オープン
#447 コメント 1 件 リアクション 0 件 担当者 1 名 GitHub で見る

@const-cloudinary がすでに取り組んでいます。

2021年3月23日 から。

評価

この issue はまだ評価されていません。

説明

Is it possible to conditionally set resource_type to "raw" based on attributes of the model instance?

The issue I'm facing is that I have users who want to upload password-protected PDFs. These get rejected by Cloudinary with an error.

In order to upload these, it seems like I need to set the resource_type to "raw", overriding the auto-identified file type (pdf):

The only way I've found so far to do that is with a transformation in the uploader class:

process cloudinary_transformation resource_type: "raw"

...which works, but applies to all files uploaded with this uploader, since process is a class method (?).

Is it possible to set resource_type dynamically for each uploaded file? Or is the approach to have two different uploaders: one which obeys the MIME type (?) and another which always uses "raw"?

If the approach is multiple uploads, is it possible to switch those based on data in the model, or is there always just one uploader per model? I guess that's maybe a question for the CarrierWave project.

Many thanks for your patience 🙏 - I'm inheriting a legacy project which is using this gem and I'm only just getting to grips with how it works 😅

主要言語
Ruby
スター
420
フォーク
282
PR マージ指標
30日以内にマージされた PR はありません

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

cloudinary/cloudinary_gem のほかの issue

cloudinary/cloudinary_gem の issue をすべて見る

似ている issue

Ruby の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。