Activity log

Jest kilka różnych gemów, które ułatwiają zapisywanie historii operacji na danych i logowania użytkowników.

Tak “na szybko” znalazłem:

chaps-io/public_activity
collectiveidea/audited
grosser/record_activities
collectiveidea/audited

Ma ktoś z Was jakieś doświadczenie (pozytywne lub negatywne) z używaniem któregoś i zechciałby napisać kilka słów?

używałem public_activity i nie miałem problemu ze zrealizowaniem przy jego pomocy newsfeeda.

Hej, jestem jednym z twórców i maintainerem public_activity. Jeśli będziesz miał problemy to chętnie pomogę :slight_smile:

1 Like

Może warto zaimplementać taką funkcjonalość samodzielnie nie korzystając z gema?
W najprostszej wersji to tylko kilka linijek kodu:

 rails g model Activity trackable:references{polymorphic}  owner:refrences{polymorphic} name
 rake db:migrate

nastepnie w ApplicationController:

  private
  def track(model, options={})
    action = options[:action]
    user = options[:user] || current_user
    Activity.create!(
      name: action,
      trackable: model,
      owner: user
    )
 end

W końcu w dowolnej akcji np:
track @comment, action: :created

Zaletą takiego rozwiązania jest to, że możemy stworzyć feed dokładnie dostosowany do naszych potrzeb i nie mamy żadnych zewnętrznych zależności.

… I posłuchałem Twojej rady i zrobiłem “swój” track activity :smile:

Dzięki za pomoc, rady i sugestie :slight_smile: