undefined方法`stringify_keys'

时间:2011-12-15 04:04:01

标签: ruby-on-rails-3 file-upload paperclip

当我尝试使用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

3 个答案:

答案 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相关的其他问题,但这两个问题都有效。