Paperclip Rails 4重新处理attr_accessor

时间:2013-09-18 14:09:25

标签: ruby-on-rails ruby paperclip

我的rails 4应用程序在回形针重新处理方法中遇到了一些问题。我有一个自定义的Cropper模块:

module Paperclip
  class Cropper < Thumbnail
    def transformation_command
      if crop_command
        crop_command + super.sub(/ -crop \S+/, '')
      else
        super
      end
    end

    def crop_command
      target = @attachment.instance
      if target.cropping?
        ratio = target.avatar_geometry(:original).width  / target.avatar_geometry(:large).width
        ["-crop", "#{(target.crop_w.to_i*ratio).round}x#{(target.crop_h.to_i*ratio).round}+#{(target.crop_x.to_i*ratio).round}+#{(target.crop_y.to_i*ratio).round}"]
      end
    end
  end
end

我有一些针对crop_x,crop_y,crop_w,crop_h的attr_accessors。

我遇到了crop_x,y,w和h在遇到cropper类时可用的问题。即使在控制器中(在更新方法期间)这些元素也不是零,这些元素总是为零。

我认为这与attr_accessors有关,所以我正在寻找一些关于如何处理这个问题的建议。

1 个答案:

答案 0 :(得分:0)

在处理更新的控制器中,你是否包括:crop_x,:crop_y,:crop_w,:crop_h作为允许的参数?

你应该有这样的东西:

params.require(:model).permit(:attribute1, :attribute2, :crop_x, :crop_y, :crop_w, :crop_h)