puc*_*chu 2 ruby activerecord ruby-on-rails mongodb mongoid
我想update_attributes,而不是检查信息是否更改
您只需将此代码传递给rails console现有的rails + mongoid项目即可
class TestModel
include Mongoid::Document
include Mongoid::Timestamps
field :name, type: String
end
test = TestModel.new({:name => "name 1"})
test.save()
=> true
test
=> created_at: 2012-11-14 13:48:26 UTC, updated_at: 2012-11-14 13:48:26 UTC
test.changed?
=> false
test.name_changed?
=> false
test.update_attributes({:name => "name 2"})
=> true
test.changed?
=> false
test.name_changed?
=> false
test
=> created_at: 2012-11-14 13:48:26 UTC, updated_at: 2012-11-14 13:49:23 UTC
Run Code Online (Sandbox Code Playgroud)
我做错了什么或这是一个错误?
完美的逻辑.
脏的方法用于检查对象在保存之前是否已更改.根据定义,持久化对象没有挂起的更改.
你应该做:
test.assign_attributes(attributes)
test.changed? #=> true
test.save
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3490 次 |
| 最近记录: |