Rails 3 стандартный список уведомлений - PullRequest
6 голосов
/ 02 апреля 2012

Одна из самых крутых вещей в Rails 3 - это уведомления.Но я хотел бы спросить, есть ли список всех имен уведомлений, на которые я могу подписаться?

Я не смог найти его в документации (только несколько примеров), поэтому я могу перейти к коду, только если не найду ответ здесь.

Ответы [ 3 ]

6 голосов
/ 08 мая 2012

Это похоже на полный список

http://edgeguides.rubyonrails.org/active_support_instrumentation.html#render_partial- ACTION_VIEW

4 голосов
/ 20 апреля 2012

Я искал точно такую ​​же вещь. Кажется, нет документации по этому вопросу, поэтому я просмотрел код и скомпилировал следующий список.

Обратите внимание, что для сопоставления используется оператор ===, поэтому вы можете использовать строку или регулярное выражение при подписке

receive.action_mailer
deliver.action_mailer

write_fragment.action_controller
read_fragment.action_controller
exist_fragment?.action_controller
expire_fragment.action_controller

expire_page.action_controller
write_page.action_controller

start_processing.action_controller
process_action.action_controller
send_file.action_controller
send_data.action_controller
redirect_to.action_controller
halted_callback.action_controller

render_collection.action_view
render_partial.action_view
render_template.action_view
!render_template.action_view

sql.active_record

cache_read.active_support
cache_fetch_hit.active_support
cache_generate.active_support
cache_write.active_support
cache_delete.active_support
cache_exist?.active_support

deprecation.rails

render
1 голос
/ 02 апреля 2012

config / initializers / notifications.rb

ActiveSupport::Notifications.subscribe "process_action.action_controller" do |name, start, finish, id, payload|
      PageRequest.create! do |page_request|
        page_request.path = payload[:path]
        page_request.page_duration = (finish - start) * 1000
        page_request.view_duration = payload[:view_runtime]
        page_request.db_duration = payload[:db_runtime]
      end
    end

подробнее здесь

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