Many times, we need to track the page views of any page such as profile page, shopping sites page in a Ruby on Rails applications, for which we can make use of Impressionist gem to track those page details easily.
It is a lightweight plugin that logs impressions per action or manually per model. We can log impressions multiple times per request. And we can also attach it to a model.
Below are the simple steps needed to follow to implement it:
Step 1: Create a sample app using scaffold.
Step 2: Add the “gem ‘impressionist’” gem to the Gemfile and install it by running the bundle install command.
Step 3: Now generate the impressions table migration by running the below commands:
Step 4: Now we need to update our controller that we want to add the impression or page views counting system. So first we have add the following method in our controller with mentioning the list of actions that we want to count:
And then update the controller action with the impressionist method:
Step 5: We need to add the new counter cache column to the model that we are working with. Run the following command:
Now we can update the model for tracking the hits:
Step 6: Now we can display how many views this blog has.