Quando você é um desenvolvedor web, muitas vezes um cliente pede que você mostre um Views
texto 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 Auction
tem. 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 install
comando 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_impressionable
propriedade ao nosso Auction
modelo 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 View
quando 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 wget
trolls 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!" %>