1

ユーザーがテンプレートを選択するアプリケーションがあります。このテンプレートでは、ユーザーは画像をアップロードできます。

ペーパークリップを使って画像をアップロードしています。

テンプレートごとに画像サイズが異なります。

ペーパークリップで画像スタイル=>'widthxheight'を動的に設定することは可能ですか?

ユーザーがテンプレートを変更することにした場合、写真を再度アップロードする必要がなく、「オリジナル」を切り抜くだけなので、この機能が必要です。

助けてくれてありがとう。

私はこれを片付けようとします。

ユーザーがページのヘッダーの画像をアップロードします。スタイルは「ヘッダー」と呼ぶことができ、寸法はそのヘッダースペースの寸法、たとえば「400x600」にする必要があります

これで、ユーザーはギャラリーにアップロードした画像を表示できます。彼らは自分のページの画像の1つを選択したいと思っていますが、今回は「300x100」のサイズの「サイドバー」用です。同じ画像を再度アップロードさせたくありません。寸法が「300x100」の「サイドバー」という新しいスタイルを作成したいと思います。また、「ヘッダー」スタイルを削除したり、サイズを変更したりしたくありません。

ペーパークリップでこれを行うにはどうすればよいですか?

4

1 に答える 1

6

私があなたがそのようなことを念頭に置いていることを理解しているなら:ペーパークリップのサイズ変更

さらに:

attr_accessor :size

...
self.dimensions = self.size.split("x")

コントローラ:

def create
  ...
  @file.size = params[:size] # OR Simply include such field in form
  ...
end

例:

モデル:

class File
  has_attached_file :upload
  attr_accessor :size
  before_save :extract_dimensions
  serialize :dimensions
  ...
  def extract_dimensions
    ...
    self.dimensions = self.size.split("x")
  end
end

形:

<form action="some link">
  ...
  <label>Size: </label><select name="file_size">
    <option value="100x200">Large</option>
    ...
  </select>
</form>
于 2012-04-28T19:26:25.600 に答える