2014-12-29 30 views
0

我有導軌,用戶可以在其中創建引腳。我想在引腳顯示頁面上顯示多個視圖。比方說,引腳是配置文件,我想渲染一個配置文件已被查看的次數。Rails 4:寶石'印象派'來計算引腳上的視圖/show.html.erb

因此,我安裝了impressionist gem

這裏是我是如何實現它:

應用程序/模型/ pin.rb

is_impressionable 

應用/控制器/ pin_controller.rb

impressionist actions: [:show] 

應用/視圖/針/ show.html.erb

<%= @pin.impressionist_count %> 

不幸的是它不呈現的視圖的數目,它示出了0代替。值得注意的是,我不在乎獲得唯一的IP地址視圖,我希望每次用戶點擊一個圖釘的顯示操作時都會更新視圖的數量。

任何想法讓我走上正軌?

更新1:

由於我使用友好的ID在我的腳模型我刪除從我pin_controller以下行:

impressionist actions: [:show] 

我更新了控制器的顯示視圖:

def show 
    @disable_nav = true 
    @pin.upvoted_users 
    impressionist(@pin) 
    @pin = Pin.friendly.find(params[:id]) 
    @commentable = @pin 
    @comments = @commentable.comments 
    @comment = Comment.new 
    end 

但現在這裏是我有的錯誤:

undefined me的ThOD`impressions_count」爲#

SOLUTION:

我不好......我忘記了impressions_count跑到我的模型::-)

+0

你做'軌摹impressionist'和'耙分貝:migrate' –

+0

呀當然,事情是,我使用friendly_id gem,我會更新我的問題。看到 - >更新1. – zacchj

回答

0

Rails generate migration add_impressions_count_to_pins impressions_count:integer 
Rake db:migrate 

由於在View

<%= @pin.impressionist_count %> 

將上面的一個改爲下面的一個

<%= @pin.impression_count %> 

,或者你可以做

<%= @pin.impressionist_count(:filter=>:ip_address) %> 

README

+0

Nop它不工作,我有這個錯誤:未定義的方法'impressions_count'爲#<引腳:0x007fc5fa79b658> – zacchj