1

Я манипулирую с изменением размера/заливки изображения на основе поля use_tag. Место может иметь много изображений. Проблема заключается в том, что изображения не изменены. Когда я поднимаю модель на yaml, она показывает nil для каждого поля. .манипулятор несущей волны, model.attribute nil in image uploader

Ответ как можно скорее :(

в моем 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> 
+0

Мне нужен ответ :). – geekdeepak

ответ

0

Вместо того чтобы состояние внутри процесса блока вы можете создать версию для каждый тип и использовать версию: если опция для выполнения условия.

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

+0

Но я не хочу тратить пространство, создавая версию и сохраняя исходные файлы. Мне нужно только одно изображение, которое обрезано как use_tag, логотип, большой палец или по умолчанию. – geekdeepak

Смежные вопросы