Paperclip::AdapterRegistry::NoHandlerError at /admin/posts/1 No handler found for foo.png
我有一个带有Active Admin的rails 4应用程序,我试图将图像上传到我的Post模型,但我收到了上述错误。这是我的设置
ruby '2.1.2'
gem 'rails', '4.1.6'
gem 'activeadmin', github: 'gregbell/active_admin'
gem 'paperclip'
gem 'aws-sdk'
class Post < ActiveRecord::Base
has_attached_file :image, styles: {
thumb: '100x100>',
square: '200x200#',
medium: '300x300>'
}
validates_attachment_content_type :image, :content_type => /\Aimage\/.*\Z/
end
permit_params :image
form do |f|
f.inputs do
f.input :image, as: :file, hint: (f.template.image_tag(f.object.image.url(:thumb)) if f.object.image?)
end
f.actions
end
Paperclip::Attachment.default_options[:storage] = :s3
Paperclip::Attachment.default_options[:s3_host_name] = 's3-eu-west-1.amazonaws.com'
Paperclip::Attachment.default_options[:url] = ':s3_domain_url'
Paperclip::Attachment.default_options[:path] = '/:class/:attachment/:id_partition/:style/:filename'
Paperclip::Attachment.default_options[:s3_protocol] = 'http'
Paperclip::Attachment.default_options[:s3_credentials] =
{ :bucket => 'foo-production',
:access_key_id => 'XXXXXXXXXXXX',
:secret_access_key => 'XXXXXXXXXXXXXXXXXXXXXX' }
答案 0 :(得分:6)
所以这就是答案:
form :html => {:multipart => true} do |f|
f.inputs do
f.input :image, as: :file, hint: (f.template.image_tag(f.object.image.url(:thumb)) if f.object.image?)
end
f.actions
end
答案 1 :(得分:0)
您是否安装了imagemagick?
如果你有自制软件,在OS X上,它就像brew install imagemagick
一样简单。对于Windows,获取.exe。
Imagemagick为Paperclip执行调整大小/图像处理。