由于团队决定删除此功能,因此我试图在Sharetribe应用程序的每个列表页面上显示一个视图计数器。因此,我遇到了Impressionist,并认为我会尝试一下。
首先,我将gem 'impressionist'
添加到Gemfile中并运行了bundle install
由于我的应用程序是在生产环境中运行的,所以
RAILS_ENV=production bundle exec rails g impressionist
然后迁移数据库
RAILS_ENV=production bundle exec rake db:migrate
我在模型
中添加了is_impressionable
https://github.com/sharetribe/sharetribe/blob/master/app/models/listing.rb
并在https://github.com/sharetribe/sharetribe/blob/master/app/controllers/listings_controller.rb的类impressionist actions: [:show], unique: [:session_hash]
中的ListingsController < ApplicationController
中添加
在我添加def show
的同一文件的impressionist(@listing)
内
最后,要显示它,我需要在https://github.com/sharetribe/sharetribe/blob/master/app/views/landing_page/_listings.erb中添加<%= "#{@listing.impressionist_count} views" %>
之类的内容(如果我理解正确的话)
我不太清楚代码应该放在哪里