2012-05-12 3 views
3

У меня есть приложение Rails с импрессионистом и дружественным идентификатором, я хочу показывать просмотры страниц в своих статьях. Проблема в том, что импрессионист не регистрирует количество просмотров.Импрессионистский драгоценный камень и Friendly_id

Это же проблема here on impressionist's bug tracker.

Мои статьи Модель:

class Article < ActiveRecord::Base 
    is_impressionable 
    extend FriendlyId 
    friendly_id :title, use: [:slugged, :history] 
    belongs_to :user 
    belongs_to :category 

Статьи Контроллер:

def show 
    @article = Article.find(params[:id]) 

    if request.path != article_path(@article) 
    redirect_to @article, status: :moved_permanently 
    end 
    respond_to do |format| 
    format.html 
    format.json { render json: @article } 
    end  
end 

я перезагрузил сервер, но имеющие один и тот же вопрос.

ответ

9

Хорошо, есть работа вокруг. Просто добавьте импрессиониста (@model) в шоу контроллера

def show 
    @article = Article.find(params[:id]) 
    impressionist(@article) 

    if request.path != article_path(@article) 
     redirect_to @article, status: :moved_permanently 
    end 
    respond_to do |format| 
    format.html 
    format.json { render json: @article } 
    end  
end 
+0

Примечания также удалить импрессионистический вызов от контроллера, как описано в шаге 4 в вики: HTTPS : //github.com/charlotte-ruby/impressionist#usage. –

1

Маленького наконечник для уникальной функциональности:

def show 
    @article = Article.find(params[:id]) 
    impressionist(@article, nil, { unique: [:session_hash] }) 
end 
Смежные вопросы