2012-04-02 17 views
6

Jedną z najfajniejszych rzeczy w Rails 3 są powiadomienia. Ale chciałbym zapytać, czy istnieje lista wszystkich nazw powiadomień, które mogę zasubskrybować?Rails 3 standardowa lista powiadomień

Nie mogłem znaleźć tego w dokumentacji (tylko kilka przykładów), więc mogę przejść do kodu, jeśli nie znajdę tutaj odpowiedzi.

Odpowiedz

1

config/inicjalizatory/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 

więcej informacji here

+0

ale nie to tylko kilka przykładów, chciałem zapytać o pełną listę dostępnych powiadomień. –

+0

@Said, możesz powiedzieć coś o http://stackoverflow.com/questions/146650 16/rails-activesupport-notifications-wrong-db-runtime-value? – Fivell

4

Szukałem dokładnie to samo. Wygląda na to, że nie ma na ten temat dokumentacji, więc przejrzałem kod i skompilowałem następującą listę.

Zauważ, że operator === służy do dopasowania, dzięki czemu można używać ciąg lub regex kiedy subskrypcji

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 
+0

Dzięki za to –