1

usage_tag フィールドに基づいて、画像のサイズ変更/塗りつぶしを操作しています。場所には多くの画像を含めることができます。問題は、画像のサイズが変更されていないことです。モデルを yaml に上げると、すべてのフィールドで nil が表示されます。

できるだけ早く答えてください:(。

私のImageUploaderで

process :scale

  def scale
    manipulate! do |img|
      raise model.to_yaml
      if model.usage_tag == "logo"
        #raise model.to_yaml
        img.resize_to_fill!(320,320)
      elsif model.usage_tag == "thumbnail"
        img.resize_to_fill!(200,200)
      else
        img.resize_to_fill!(640,720)
      end
      img
    end
  end

以下はフォームです:

    <%= form_for([:admin,@location]) do |f| %>

    <div class="field">
      <%= f.label :state %><br />
      <%= f.text_field :state %>
    </div>
    <div class="field">
      <%= f.label :country %><br />
      <%= f.text_field :country %>
    </div>
    <div class="images">
      <%= f.fields_for :location_images do |f2| %>
          <div class="field">
            <%= f2.file_field :image %>

            <%= f2.object.usage_tag if f2.object.usage_tag %>
            <%= f2.text_field :usage_tag %>
            <%#= deal_image.check_box :_destroy %>
          </div>
      <% end %>
    </div>
  <div class="actions">
    <%= f.submit %>
  </div>
4

1 に答える 1

0

プロセス ブロック内に条件を配置するのではなく、各タイプのバージョンを作成し、バージョン :if オプションを使用して条件を実行できます。

https://github.com/jnicklas/carrierwave/wiki/How-to%3A-Do-conditional-processing

于 2013-03-28T12:20:44.300 に答える