【发布时间】:2011-01-23 03:40:20
【问题描述】:
我有两个模型,用户和片段:
class User
include DataMapper::Resource
property :id,Serial
...
has n,:snippets
end
class Snippet
include DataMapper::Resource
property :id,Serial
...
belongs_to :user
end
当我显示 sn-ps 时,我正在使用这个:
snippets = user.snippets
当我删除它们时,我正在使用这个:
snippet = Snippet.first(:user_id => user.id,:id => snip_id)
if snippet
destruction_res = snippet.destroy
...
end
问题是,destroy_res 总是返回 true。删除 sn-p 后,我尝试保存用户。它也返回了 true。问题是,当我访问使用代码的视图时:
snippets = user.snippets
它返回完整的列表,包括应该被销毁的sn-p。但是,如果我重新启动应用程序,我会看到正确的列表。我究竟做错了什么?我应该以某种方式强制提交到数据库吗?
【问题讨论】:
标签: ruby sinatra datamapper