我试图使用Paperclip填写"图像" ActiveAdmin Post编辑页面上的字段。 Rails 4.0.0,Paperclip 4.2.0。在Post模型中,我添加了以下代码:
has_attached_file :image
validates_attachment :image, content_type: { content_type: [ "image/jpg", "image/jpeg", "image/png" ] }
提交表单后,我有以下错误:
Paperclip :: Admin :: PostsController#update中的错误
发布模型缺少attr_accessor需要' image_file_name'
看起来我忘了做某事。我在这一步做错了什么?好的,我已手动添加
attr_accessor :image_file_name
提交后我得到另一个错误
Admin :: PostsController#update中的NoMethodError
未定义的方法`image_content_type'对于#Post:0x007fb148266e10
我不知道如何处理这个问题。
答案 0 :(得分:3)
您的模型中不需要attr_accessor。 这应该足够了。
has_attached_file :image
validates_attachment :image, content_type: { content_type: [ "image/jpg", "image/jpeg", "image/png" ] }
还需要的是数据库中的特定列。 只需添加类似于此的迁移,它应该可以正常工作。
class AddImageToPosts < ActiveRecord::Migration
def change
add_attachment :posts, :image
end
end
它会添加到您的模型中:
string "image_file_name"
string "image_content_type"
integer "image_file_size"
datetime "image_updated_at"