Направляющие after_commit?

Имеет любого, реализовал after_commit рычаг в направляющих? Я не ищу основанный на модели после того, как фиксации на обновлять/создавать/и т.д., я хочу смочь динамично определить блок, который будет выполняться, только если текущая (самая верхняя) транзакция передает:

def remove_file
  current_transaction.after_commit do
    FileUtils.rm(file_path)
  end
end

Какая-либо идея, если это было уже реализовано, если это будет в направляющих 3.0?

7
задан gaspard 8 February 2010 в 10:13
поделиться

3 ответа

Вы не увидите after_commit в Rails 3.0, по крайней мере пока. Вы можете применить патч и посмотреть, будет ли он одобрен основной командой, но я сомневаюсь, что это произойдет. Эта функциональность остается гораздо более функциональной вне ядра Rails, в плагине.

Вы можете попробовать этот плагин:

http://github.com/GUI/after_commit

2
ответ дан 6 December 2019 в 19:36
поделиться

я создал легкий плагин after_commit: плагин after_commit , который позволяет синтаксис:

def some_callback
  after_commit do
    # save file, expire cache, etc
  end
end

Он очень легкий, но выполняет свою работу.

1
ответ дан 6 December 2019 в 19:36
поделиться

Это есть в ядре Rails в Rails 3.

Документация здесь: http://edgeapi.rubyonrails.org/classes/ActiveRecord/Transactions/ClassMethods.html#M001117

3
ответ дан 6 December 2019 в 19:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: