如何获取特定模型的acts_as_votable结果?

时间:2018-02-10 01:34:03

标签: ruby-on-rails ruby rubygems ruby-on-rails-5 acts-as-votable

我正在使用acts_as_votable gem来创建一个允许用户喜欢'的项目。他们喜欢的课程和他们最喜欢的导游然后,收藏的指南将显示在一个页面上,而受欢迎的指南将显示在另一个页面上。我在下面的控制器中检索模型特定结果时遇到问题,代码可以正常运行,但不适用于特定控制器。

class FavoritesController < ApplicationController
 def guides

 end

 def courses
  user = current_user
  @courses = user.find_up_voted_items
 end
end

这是我唯一可以使用的代码,我发现控制器中目前没有任何内容可以将结果缩小到特定模型,但我无法获得任何我尝试过的工作

1 个答案:

答案 0 :(得分:0)

来自acts_as_votable docs:

  

用户投票的单个模型的成员也可以   显示。结果是ActiveRecord Relation。

@user.get_voted Comment

@user.get_up_voted Comment

@user.get_down_voted Comment

https://github.com/ryanto/acts_as_votable

所以在你的情况下我会使用:

class FavoritesController < ApplicationController
  before_action :get_user, only: %i[guides courses]

  def guides
    @guides = @user.get_up_voted Guide
  end

  def courses
    @courses = @user.get_up_voted Course
  end

  private

  def get_user
    @user = current_user
  end
end