我无法在载波上传器装载的属性上使用model.update_attribute。SQL语句不会接受该值并将NULL添加到占位符。如果我从模型类中删除mount_uploader语句,它会正常工作。我正在从控制台进行故障排除,并试图在播种DB时添加一些属性,这阻碍了我的努力。有什么想法?
- 谢谢-谢谢
**更新:**相关编码:
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方法会冻结字符串还是使其不可变?
2条答案
按热度按时间9vw9lbht1#
我找到了解决办法。
我的问题是,我不能改变属性挂载我的载波上传从我的种子。rb文件。
这个方法的作用是:
字符串
e5nqia272#
上面的答案使它不可能检索到的信息,除非使用pluck(:avatar),所以我不会去与它
您必须在Uploader类上设置变量,而不是在数据库上手动设置
编辑
从该解决方案中检索值的另一种方法是
字符串