Атомные делеции в рельсах - PullRequest
1 голос
/ 10 октября 2010

У меня есть статья с комментариями.1004 * Существует ли такой механизм пометки комментариев для удаления, чтобы их записи удалялись только при сохранении статьи?

спасибо.

Ответы [ 2 ]

3 голосов
/ 10 октября 2010

Предлагаю вам ознакомиться с # accepts_nested_attributes_for .Пример там по сути то, что вы хотели.Это переписано:

class Post < ActiveRecord::Base
  has_many :comments
  accepts_nested_attributes_for :comments, :allow_destroy => true
end

post = Post.find(1) # With 3 comments
post.comments_attributes = [{:_destroy => "1", :id => post.comments.first.id}]
# Look ma! No SQL statements!
post.save!
# BEGIN / UPDATE posts / DELETE FROM comments WHERE id = X / COMMIT
1 голос
/ 10 октября 2010

сделать это в транзакции:

Article.transaction do
   ...
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...