使用request.remote_ip创建特定文章的视图计数

时间:2011-08-17 20:25:48

标签: ruby-on-rails ruby-on-rails-3

我有一个rails应用程序,它有一个故事模型和一个views_count模型。当用户输入故事节目页面时,它会将故事视图计数增加1.从我所做的情况来看,故事无法从我的代码中增加

故事控制器

  def show
    @story = Story.find(params[:id])
    @story.viewed!(request.remote_ip)

    respond_to do |format|
      format.html # show.html.erb
      format.json { render json: @story }
    end
  end

故事模型

  def viewed!(ip)
    view_count_id = "#{self.id}-#{ip}"
    if ViewsCount.where({:id => view_count_id}).first.nil?
      ViewsCount.create(:id => view_count_id)
      self.views_count += 1
    end
  end

我无法增加故事views_count。

我采取的approch阻止用户按住重新加载按钮以继续增加计数器。请更好地解决这个问题或我的错误

1 个答案:

答案 0 :(得分:1)

我能够使用impressionist gem

完成此任务