Papercrop 不保存裁剪后的图像

Papercrop not saving cropped image

我正在尝试将 papercrop 与回形针一起使用,以允许用户裁剪他们的照片。我已遵循文档并参考了 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 .

感谢您花时间帮助这个新手!!

解决方案

我心不在焉地忘了在我的 strong_parameters 中加入回形针。它们是 (:photo_original_w, :photo_original_h, :photo_box_w, :photo_crop_x, :photo_crop_y, :photo_crop_w, :photo_crop_h, :photo_aspect).谢谢勘误!

所以您似乎不允许使用 strong_parameters 分配新属性。添加这个是为了让它更明显,因为我很喜欢 SO 点。 :-P