2012-12-05 2 views
0

사이트에서 사용자 활동을 추적하고 싶습니다. 나는 ActiveSupport::Notifications을 시도했지만 user_id 또는 사용자를 정의하는 것이 없습니다. 보시다시피이 작업에는 ActiveRecord 쿼리를 통해, 그리고 페이지 요청을 통해 두 가지 방법이 있습니다. 첫 번째 경우 모델 (after_create, after_destroy 등)을 사용하여 가능한 모든 사용자 작업을 구독해야하며 중복 코드가 많은 약 20 개의 관련 모델이 있습니다. 두 번째 - 나는 이것을하는 법을 모르지만, 그것은 나에게 단순한 것처럼 보인다. Device 또는 보석을 사용하고 있지 않습니다.레일 사용자 추적 활동

아마 첫 번째 방법으로 모듈을 포함하고 논리를 모두 만들 수 있지만 작동하지 않습니다.

+0

안녕하세요 @Alder, 어떤 종류의 활동을 추적하고 싶습니까? – sameera207

+0

안녕하세요, sameera207. 예를 들어 사용자가 커뮤니티를 만들고 사용자가 초대합니다. 그러나 그것 모두는 사용자 모델에 속하는 db 크러스트 작업에 달려 있습니다. – zishe

+0

이것은 [paper_trail] 트릭을해야합니다 (https://github.com/airblade/paper_trail);) HTH – sameera207

답변

1

ApplicationControllerbefore_filter :track_activity을 추가하여 문제를 해결했습니다. 사용자가 페이지를 입력 할 때마다 ti가 호출됩니다.