У меня есть две модели: пользователь и фрагмент:
class User
include DataMapper::Resource
property :id,Serial
...
has n,:snippets
end
class Snippet
include DataMapper::Resource
property :id,Serial
...
belongs_to :user
end
Когда я отображаю фрагменты, я использую это:
snippets = user.snippets
И когда я их удаляю, я использую это:
snippet = Snippet.first(:user_id => user.id,:id => snip_id)
if snippet
destruction_res = snippet.destroy
...
end
Дело в том, что destroy_res всегда возвращает true. Я попытался сохранить пользователя после удаления фрагмента. Это вернулось также. Дело в том, что когда я получаю доступ к представлению, которое использует код:
snippets = user.snippets
возвращает полный список, включая фрагмент, который должен был быть уничтожен. Однако, если я перезапущу приложение, я увижу правильный список. Что я делаю неправильно? Должен ли я как-то форсировать коммит в базу данных?