我正在尝试使用以下方法删除商店集合中的对象:
store.widgets.where(code: 'xyz').first.destroy
并从 Promise 中得到以下结果:
[:@action, :@realized, :@exception, :@value, :@error, :@delayed, :@prev, :@next]
并且该对象不会被删除/销毁。
这是正确的方法吗?
我正在尝试使用以下方法删除商店集合中的对象:
store.widgets.where(code: 'xyz').first.destroy
并从 Promise 中得到以下结果:
[:@action, :@realized, :@exception, :@value, :@error, :@delayed, :@prev, :@next]
并且该对象不会被删除/销毁。
这是正确的方法吗?
问题是由我自己的(旧版)#destroy 方法在 Object 中覆盖了从first
to的承诺链的行为引起的destroy
。
可以确认两者
store.widgets.delete(store.widgets.where(code: 'xyz').first)
和
store.widgets.where(code: 'xyz').first.destroy
按预期工作。
尝试这样的事情:
store.widgets.delete(store.widgets.where(code: 'xyz').first)
或者,如果您真的只想删除第一项:
store.widgets.delete_at(0)