载波操作,image.attribute nil在图像上传器中

时间:2013-03-28 04:40:07

标签: ruby-on-rails ruby-on-rails-3 image-processing imagemagick carrierwave

我正在根据usage_tag字段操作图像的大小/填充。一个位置可以有很多图像。 问题是图像没有调整大小。当我将模型提升到yaml时,它显示每个字段都为零。

尽快回答:(。

在我的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>

1 个答案:

答案 0 :(得分:0)

您可以为每种类型创建版本,并使用version:if选项来执行条件,而不是将条件放在流程块中。

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