微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby – 手动更新Carrierwave Uploader安装的属性

我无法在由carrierwave上传器安装的属性上使用model.update_attribute. sql语句不接受该值并向占位符添加NULL.如果我从模型类中删除mount_uploader语句,它将正常工作.我正在从控制台进行故障排除,并试图在播种数据库添加一些属性,这阻碍了我的努力.想法?

谢谢.

更新:
相关代码

class Profile < ActiveRecord::Base
  belongs_to :user
  has_and_belongs_to_many :sports
  has_and_belongs_to_many :interests
  has_and_belongs_to_many :minors
  has_and_belongs_to_many :majors
  has_and_belongs_to_many :events
  has_and_belongs_to_many :groups
  attr_accessible :description,:username,:avatar,:bio,:first_name,:last_name,:major,:minor,:graduation_date,:living_situation,:phone,:major_ids,:minor_ids,:sport_ids
  mount_uploader :avatar,AvatarUploader
end

我只是试图从db种子文件重写:avatar字符串,并从rails控制台进行测试,如下所示:
Profile.first.update_attribute(:avatar,’foo’)

当我注释掉mount_uploader行时,两者都有效.

添加mount_uploader方法是否冻结字符串或使其不可变?

解决方法

我找到了解决方案.

我的问题是我无法改变我的seeds.rb文件中载入CarrierWave上传器的属性.

这有效:

user.profile.update_column(:avatar,'foobar/image.png')

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐