我无法在由 Carrierwave 上传程序安装的属性上使用 model.update_attribute。 SQL 语句不会接受该值并将 NULL 添加到占位符。如果我从模型类中删除 mount_uploader 语句,它会正常工作。我正在从控制台对问题进行故障排除,并尝试在播种数据库时添加一些属性,这阻碍了我的努力。有想法吗?
Thanks.
Update:相关代码:
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
我只是想从数据库种子文件重写 :avatar 字符串,并在 Rails 控制台进行测试,如下所示:
Profile.first.update_attribute(:头像, 'foo')
当我注释掉 mount_uploader 行时,两者都有效。
添加 mount_uploader 方法是否会冻结字符串或使其不可变?