2011-04-18 102 views
4

我試圖實現對我工作的一個Web應用程序手動裁剪和我有這個至今:從Carrierwave上傳裏面訪問模型

version :croppedversion do 
    process :manualcrop => [model.crop_x, model.crop_y, model.crop_h, model.crop_w] 
    end 

    process :resize_to_limit => [600, 600] 

    def manualcrop(x,y,h,w) 
    manipulate! do |img| 
     img = img.crop(x,y,h,w) 
    end 
    end 

的問題是模型轉動起來爲零。從我讀過的文檔中可以看出,這是正確的方法。

有什麼建議嗎?我已經將呼叫轉移到現在模型中的回調中,但是真的希望它駐留在carrierwave中

回答

0

我遇到了類似的問題。我有

attr_accessor:crop_x,:crop_y,:crop_w,:crop_h

卻忘了他們包括在attr_accessible作物變量。通過這樣做

attr_accessible:描述:形象:crop_x,:crop_y,:crop_w,:crop_h

我能得到的模型作物變量。我不知道這是否會解決你的問題,因爲你描述的模型返回零而不是作物方法。

+1

我也遇到過這個問題,因爲我非常害怕保持attr_accessible的直線,但是可惜的是,它的模型是零。 – Kelend 2011-05-17 05:14:36

0

當我嘗試訪問模型數據時,CarrierWave中的對象爲零,我非常掙扎。

對我來說,問題出在我的控制器上。這看起來不像它適用於你的情況太多,但我正在通過執行查詢:model.user.foo - 如果我在創建對象後立即將此用戶分配給模型,它會出現nil。

+0

您的carrierwave上傳器中哪裏可以成功訪問模型?我似乎只能在路徑方法中訪問它,而不是任何自定義的(如我自己的處理器) – Kelend 2011-06-25 03:29:52

+0

不幸的是,它是在路徑方法中,我修復了我自己的問題,沒有其他地方。 – Kombo 2011-06-27 22:27:23

+0

但問題是:你做了什麼來解決這個問題。請顯示一些代碼。 – geekdeepak 2013-04-11 09:54:27