【问题标题】:How do I get acts_as_votable results for a specific model?如何获得特定模型的acts_as_votable 结果?
【发布时间】:2018-02-10 01:34:02
【问题描述】:

我正在为一个项目使用acts_as_votable gem,该项目将允许用户“喜欢”他们最喜欢的课程和他们最喜欢的指南。然后收藏的指南将显示在一个页面上,而收藏的课程将显示在另一个页面上。我无法在我的控制器中检索特定于模型的结果,下面的代码可以工作但没有作用于特定控制器。

class FavoritesController < ApplicationController
 def guides

 end

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

这是我开始工作的唯一代码,我意识到控制器中目前没有任何东西可以将结果缩小到特定模型,但我无法得到任何我试图工作的东西。

【问题讨论】:

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


    【解决方案1】:

    来自acts_as_votable 文档:

    用户投票支持的单个模型的成员也可以是 显示。结果是一个 ActiveRecord 关系。

    @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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-13
      • 1970-01-01
      • 2021-02-26
      • 1970-01-01
      相关资源
      最近更新 更多