Имеет любого, реализовал after_commit
рычаг в направляющих? Я не ищу основанный на модели после того, как фиксации на обновлять/создавать/и т.д., я хочу смочь динамично определить блок, который будет выполняться, только если текущая (самая верхняя) транзакция передает:
def remove_file
current_transaction.after_commit do
FileUtils.rm(file_path)
end
end
Какая-либо идея, если это было уже реализовано, если это будет в направляющих 3.0?
Вы не увидите after_commit
в Rails 3.0, по крайней мере пока. Вы можете применить патч и посмотреть, будет ли он одобрен основной командой, но я сомневаюсь, что это произойдет. Эта функциональность остается гораздо более функциональной вне ядра Rails, в плагине.
Вы можете попробовать этот плагин:
я создал легкий плагин after_commit: плагин after_commit , который позволяет синтаксис:
def some_callback
after_commit do
# save file, expire cache, etc
end
end
Он очень легкий, но выполняет свою работу.
Это есть в ядре Rails в Rails 3.
Документация здесь: http://edgeapi.rubyonrails.org/classes/ActiveRecord/Transactions/ClassMethods.html#M001117