Giter VIP home page Giter VIP logo

Comments (8)

pokonski avatar pokonski commented on September 13, 2024

Currently in my own projects I access Activity model directly like this (my example of recording activity of commenting):

PublicActivity::Activity.create :key => "activity.post.commented_by", 
                                                  :owner => current_user, :trackable => @post, 
                                                  :parameters => {
                                                    :summary => truncate(@post.content,:length => 30),    #short summary of the contests of post
                                                    :author_id => @post.author.id, 
                                                    :content => truncate(@comment.comment, :length => 30),  #short summary of the comment text
                                                    :author_name => @post.author.name, 
                                                    :name => current_user.name, 
                                                    :id => current_user.id
                                                  }

I store everything needed to create links and content in :parameters, so no additional JOINs are used.

from public_activity.

pokonski avatar pokonski commented on September 13, 2024

Does that answer your question?

from public_activity.

bjensen avatar bjensen commented on September 13, 2024

@pokonski Thanks mate, it does partly :-) In the github example there is a reference to the parent object (github repo). How do you handle that in the above example? And I guess you do more when you render the activities?

from public_activity.

pokonski avatar pokonski commented on September 13, 2024

I simply inject the post_id in the html snippet to create HTML link. This is quite ugly so I'll try to think of something better. I don't think adding another polymorphic relation just for this case is the way to go. Will keep you informed on my thoughts about it. If you can come up with a solution I'd gladly consider it!

from public_activity.

computeus avatar computeus commented on September 13, 2024

@pokonski
Where will I use the code you pasted? In a after_save callback, or in an observer? Or some other better place?

from public_activity.

pokonski avatar pokonski commented on September 13, 2024

@computeus sorry for the late reply, but the code simply goes wherever you want it to be. I put it in controllers.

from public_activity.

pokonski avatar pokonski commented on September 13, 2024

@bjensen in the current 0.4.0-wip branch we made a feature that lets you create views for activities to display them, giving you a much bigger control over what you want to display. This also gives you the possibility to find the parent through associations.

It is now mentioned in the README.md => https://github.com/pokonski/public_activity/blob/0.4.0-wip/README.md, section "Activity views".

from public_activity.

farnoy avatar farnoy commented on September 13, 2024

@computeus Keep in mind that you probably want to create an activity after you validate that the user input is correct. With commented_by, for example, when the comment is at least 10 characters long.

from public_activity.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.