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
我正在尝试将 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