2015-05-16 53 views
2

我正在試圖用回形針剪紙來允許用戶修剪他們的照片。我遵循了文檔並在Github上引用了測試應用程序。裁剪視圖功能正常,當我提交表單時,它將圖像保存得很好,只是圖像是原始大小(未裁剪)。不保存修剪圖像的草皮草

我確定我錯過了一些明顯的步驟,所以我希望有人能指出我在正確的方向!

模型

class Asset < ActiveRecord::Base 
    has_attached_file :photo, 
        :styles => { :medium => "300x300>", :thumb => "100x100>", :large => "800x350#" }, 
        :url => "/images//:id/:styles/:filename" 
    crop_attached_file :photo 
    validates_attachment_content_type :photo, :content_type => /\Aimage\/.*\Z/ 
end 

控制器

def create 
    @asset = Asset.new(asset_params) 
    @asset.provider_id = @provider.id 

    if @asset.save 
     render 'crop' 
    else 
     render 'new' 
    end 
    end 

    def update 
    @asset = Asset.find(params[:id]) 

    if @asset.update_attributes(asset_params) 
     redirect_to @provider 
    else 
     render 'edit' 
    end 
    end 

    def crop 
    @asset = Asset.find(params[:id]) 
    end 

crop.html.erb

<%= form_for [@provider, @asset] do |f| %> 
<%= f.cropbox :photo %> 
<%= f.crop_preview :photo %> 
<%= f.submit 'Save' %> 
<% end %> 

條路線

resources :providers do 
    resources :assets do 
     post 'crop', :on => :member 
    end 
    end 

的application.js

//= require jquery 
//= require jquery_ujs 
//= require jquery.jcrop 
//= require papercrop 
//= require bootstrap 
//= require turbolinks 
//= require_tree . 

感謝您的任何花費的時間試圖幫助這個菜鳥了!

SOLUTION

我心不在焉地忘記在我strong_parameters papercrop。這些是(:photo_original_w,:photo_original_h,:photo_box_w,:photo_crop_x,:photo_crop_y,:photo_crop_w,:photo_crop_h,:photo_aspect)。謝謝你的錯誤!

+0

您是否在日誌中看到任何內容?此外,我猜你忽略了定義asset_params的strong_parameters代碼。嘗試在保存之前使用awesom_print或somesuch對資產對象進行轉儲。 – errata

+0

這是強大的參數!將更新信息的問題。我應該把它添加到答案中嗎?還是你想寫一個我能接受的答案?不知道在這種情況下適當的禮儀是什麼! – DanaeB

回答

4

因此,您似乎不允許使用strong_parameters分配新屬性。增加了這一點,使其更加明顯,因爲我是SO點的饕ton大師。 :-P