2017-08-02 11 views
0

アップローダがあります。ユーザーがカスタム座標を使ってクロップできるようにしたいのですがAvatarです。私はJcrop、CarrierwaveとCloudinaryの組み合わせを使用しています。改訂Railscast 182のエピソードに続いています。Carrierwave、Cloudinary、Jcropの使用 - カスタムクロップ座標でバージョンが再作成されない

提出すると、座標は保存されますが、Carrierwaveは新しい座標のバージョンを再作成していないようです。何か案は?

マイアップローダ

include Cloudinary::CarrierWave 
    version :large do 
    process :eager => true 
    process :progressive => 'steep' 
    cloudinary_transformation :secure => "true" 
    end 

    version :thumbnail do 
    process :custom_crop 
    end 

    def extension_whitelist 
    %w(jpg jpeg gif png) 
    end 

    def custom_crop 
    return :x => model.crop_x, :y => model.crop_y, :width => model.crop_w, :height => model.crop_h, :crop => :crop 
    end 

マイモデル

class Profile < ActiveRecord::Base 
    mount_uploader :avatar, AvatarUploader 

    attr_accessor :crop_x, :crop_y, :crop_w, :crop_h 
    after_update :crop_avatar 

は、作物ページ

<h1>Crop Avatar</h1> 


<%= image_tag @profile.avatar.url(:large), id: "cropbox" %> 

<h4>Preview</h4> 
<div style="width:100px; height:100px; overflow:hidden"> 
    <%= image_tag @profile.avatar.url(:large), :id => "preview" %> 
</div> 

<%= form_for ([:admin, @profile]) do |f| %> 
    <% %w[x y w h].each do |attribute| %> 
    <%= f.text_field "crop_#{attribute}" %> 
    <% end %> 
    <div class="actions"> 
    <%= f.submit "Crop" %> 
    </div> 
<% end %> 

答えて

0

は、次を試してみました?:

version :thumbnail do 
    cloudinary_transformation :x => model.crop_x, :y => model.crop_y, :width => model.crop_w, :height => model.crop_h, :crop => :crop 
end 
関連する問題