当我尝试使用Paperclip gem上传图片时出现此错误:
NoMethodError(未定义的方法`stringify_keys'用于< ActionDispatch :: Http :: UploadedFile:0x000000025387f0>)
class MenuItem < ActiveRecord::Base
has_one :image
end
class Image < ActiveRecord::Base
belongs_to :menu_item
has_attached_file :image, :styles => {
:large => "640x480",
:medium => "300x300",
:thumb => "100x100"
}
end
答案 0 :(得分:74)
我之前看到过这种错误,通常是当人们试图像这样调用update_attributes
时:
update_attributes(params[:image])
电话应该是这样的:
update_attributes(:image => params[:image])
在黑暗中拍摄一下,但如果就是这样,我相信我们都会留下深刻的印象。
答案 1 :(得分:1)
在rails 3.2.2中挣扎了一段时间后,我设法以这种方式解决了这个问题
(image = Image.new(image:params [:image]))。保存
update_attributes(image:image)
答案 2 :(得分:0)
我刚遇到这个问题,为了澄清一点,update_attributes与update_attribute不同。
以下内容应该有效:
update_attributes(:image => params[:image])
或
update_attribute(:image, params[:image])
你去吧! update_attributes还存在与attr_accesible相关的其他问题,但这两个问题都有效。