Acompanhe as visualizações de página de maneira inteligente com a joia impressionista.

Quando você é um desenvolvedor web, muitas vezes um cliente pede que você mostre um Viewstexto em algum lugar.

Por exemplo, quantas visualizações este Perfil tem? Quantas visualizações esta lista de carros tem?

Em Ruby on Rails, há um Gem muito limpo e simples que permite adicionar rápida e corretamente esta funcionalidade ao seu site.

Joia impressionista

Primeiro, você pode encontrar a documentação oficial aqui.

O que essa coisa faz?

Registra uma impressão … e eu uso esse termo vagamente. Ele pode registrar
impressões de página (tecnicamente impressões de ação), mas não se limita a
isso. Você pode registrar impressões várias vezes por solicitação. E você
também pode anexá-lo a um modelo. O objetivo deste projeto é fornecer
estatísticas personalizáveis ​​que sejam imediatamente acessíveis em seu aplicativo,
em vez de usar o Google Analytics e extrair dados usando sua API.
Você pode anexar mensagens personalizadas às impressões. Sem relatórios ainda .. essa
coisa só cria os dados.

Vamos adicionar Impressionist a um aplicativo existente para rastrear quantas visualizações ele Auctiontem. O Impressionist tem um recurso muito bom de ignorar visualizações de mais de 1200 bots, todos retirados desta lista abrangente .

Adicione Gem ao Gemfile.

Adicione o Gem ao seu Gemfile e execute o bundle installcomando para instalá-lo.

gem 'impressionist'

$ bundle install

Execute o gerador impressionista.

Isso gerará todos os campos de que o impressionista precisa para rastrear os acessos.

rails g impressionist

Em seguida, execute uma migração de banco de dados para garantir que tudo seja executado em seu banco de dados.

rake db:migrate

Amarre seu modelo na funcionalidade impressionista.

Vamos adicionar a is_impressionablepropriedade ao nosso Auctionmodelo para garantir que o impressionista possa rastrear seus hits.

class Auction < ActiveRecord::Base
is_impressionable

end

Diga ao seu controlador o que você deve acompanhar.

Em seu controlador, você pode dizer ao impressionista quais ações contar como um View.

class AuctionsController < ApplicationController
impressionist actions
: [:show], unique: [:session_hash]
end

Aqui, apenas contaremos Viewquando alguém disparar a ação e também usaremos o para rastrear apenas visualizações únicas.:show:session_hash

Muito bacana para manter os wgettrolls afastados.

Exiba sua contagem de visualizações em sua Visualização.

Agora podemos exibir quantas Visualizações Este leilão acabou.

<%= "#{@auction.impressionist_count} views so far!" %>