我试图将属性大量更新为我的用户模型, 我正在做:
u = User.with_any_role(:pro, :admin)
u.each {|user| user.update_attributes(is_pro: true)}
但是我收到了这个错误:
ActiveRecord::ReadOnlyRecord: ActiveRecord::ReadOnlyRecord
from /app/vendor/bundle/ruby/2.0.0/gems/activerecord-4.0.0/lib/active_record/persistence.rb:465:in `create_or_update'
WTH?
答案 0 :(得分:2)
您的with_any_role
范围可能指定了连接条件。默认情况下,Rails将连接加载的记录标记为只读。您可以通过调用范围内的readonly(false)
来覆盖此行为。
u = User.with_any_role(:pro, :admin).readonly(false)