ruby-on-rails - Rails 控制台中手动更新属性值的验证问题

标签 ruby-on-rails

我有一个简单的问题。我想为我的 User.find(1) 更改一些字段值在 rails 控制台中。

我试过:

u = User.find(1)
u.update_attributes(roles_mask: 3)

并得到 false回来。当我查看 u.errors.full_messages ,我看是因为has_secure_password的密码验证有问题.如何在控制台中手动更新它?

最佳答案

如果要绕过验证,请使用

# skip validations but run callbacks
u.update_attribute :roles_mask, 3

或者
# do the update on the sql so no validation and callback is executed
u.update_column :roles_mask, 3

关于ruby-on-rails - Rails 控制台中手动更新属性值的验证问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15110858/

相关文章:

ruby-on-rails - 使用 apache/passenger 设置多个 redmine 实例

ruby-on-rails - Jasmine 未加载 Assets 管道

javascript - 后备方法在带有 Rails 2.3 的 i18n-js 中不起作用

ruby-on-rails - 可选的 belongs_to 和 Rails 路由

ruby-on-rails - 验证 rails 3 中 postgres 整数字段的数值

ruby-on-rails - 为什么 Rails 将我的作用域参数括在括号中?

ruby-on-rails - 学习 Ruby 和 Ruby on Rails

ruby-on-rails - Rails 3.1.1 Assets 预编译 - rake 中止

ruby-on-rails - 从另一个本地分支推送到 heroku

ruby-on-rails - 如何内联调用事件模型序列化器作为哈希分配的选项