从 Carrierwave 上传器内部访问模型

Kel*_*end 5 ruby ruby-on-rails rmagick crop carrierwave

我正在尝试为我正在处理的 Web 应用程序实现手动裁剪,到目前为止我已经有了:

  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
Run Code Online (Sandbox Code Playgroud)

问题是模型变成了零。从我读过的文档中,这将是正确的方法。

有什么建议?我现在已经将裁剪调用移动到模型中的回调中,但真的希望它驻留在carrierwave中

rri*_*vas 0

我遇到了类似的问题。我有

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

但忘记将它们包含在 attr_accessible 中的作物变量中。通过做

attr_accessible :描述、:图像、:crop_x、:crop_y、:crop_w、:crop_h

我能够获得模型作物变量。我不知道这是否可以解决您的问题,因为您描述的是返回 nil 的模型而不是裁剪方法。