Carrierwave未定义方法`avatar_changed?' 对于用户

Man*_*ano 7 ruby-on-rails-3 carrierwave ruby-on-rails-3.2

我使用carrierwave gem上传图片.我在我的模型中使用attr_accessor:avatar.我不想创建数据库列.我可以将头像存储在特定目录中.但是当我更新某个其他字段时,我得到未定义的方法undefined methodavatar_changed?' 对于用户`.我错过了什么吗?帮我解决这个问题.这是我的用户模型

 attr_accessor: avatar
 mount_uploader: avatar, AvatarUploader

AvatarUploader < IconBase
  DIEMENSIONS=[120,120]

  def filename
    "avatar.png"
  end
end
Run Code Online (Sandbox Code Playgroud)

And*_*eda 9

如果使用 mount_uploader: avatar, AvatarUploader ,则应创建数据库列.如果您不想添加列,则不应安装上传器,而应使用以下内容:

uploader = AvatarUploader.new
uploader.store!(my_file)
uploader.retrieve_from_store!('my_file.png')
Run Code Online (Sandbox Code Playgroud)