Ruby on rails 在公共活动中充当志愿者
我正在开发一个人们可以喜欢帖子的应用程序。我正在使用公共活动宝石并充当Votable 当我尝试查看页面时,出现以下错误:Ruby on rails 在公共活动中充当志愿者,ruby-on-rails,public-activity,Ruby On Rails,Public Activity,我正在开发一个人们可以喜欢帖子的应用程序。我正在使用公共活动宝石并充当Votable 当我尝试查看页面时,出现以下错误: undefined method 'get_upvotes' for PublicActivity::Activity:0x00000101453ad8 获得选票应该是伴随着表演而来的。我做错了什么 用户模型 class User < ActiveRecord::Base acts_as_voter end class Activity < Activ
undefined method 'get_upvotes' for PublicActivity::Activity:0x00000101453ad8
获得选票应该是伴随着表演而来的。我做错了什么
用户模型
class User < ActiveRecord::Base
acts_as_voter
end
class Activity < ActiveRecord::Base
acts_as_votable
end
class用户
活动模型
class User < ActiveRecord::Base
acts_as_voter
end
class Activity < ActiveRecord::Base
acts_as_votable
end
类活动
查看代码
<% if activity.owner == current_user %>
<i>This has been liked <strong><%= activity.get_upvotes.size %></strong> times</i>
<% else %>
<%= link_to like_activity_path(activity), class: "like", method: :put do %>
<button type="button" class="btn btn-info" aria-label="Left Align">
<span class="glyphicon glyphicon-thumbs-up glyphicon-align-center" aria-hidden="true"></span>
<span class="badge"><%= activity.get_upvotes.size %></span>
</button>
<% end %>
<a class="btn btn-default btn-xs timeline-button"><i class="fa fa-heart"></i> I Liked This</a>
<% end %>
这已经被喜欢了好几次了
我喜欢这个
活动控制员
class ActivitiesController < ApplicationController
before_action :authenticate_user!, only: [:index, :upvote]
def index
@users = current_user.active_friends
@users.push(current_user)
case params[:content] when 'posts'
@activities = PublicActivity::Activity.where(owner_id: @users, trackable_type: "Post").paginate(page: params[:page], per_page: 6).order('created_at DESC')
else
@activities = PublicActivity::Activity.where(owner_id: @users).paginate(page: params[:page], per_page: 6).order('created_at DESC')
end
end
def upvote
@activity = Activity.find(params[:id])
@activity.upvote_from current_user
redirect_to activities_path
end
end
类活动控制器
谢谢你能提供的任何帮助。我正处于知识的边缘。:) Activity模型位于
PublicActivity
模块中,这意味着它应该可以工作
class PublicActivity::Activity
acts_as_votable
end
尝试将公共活动gem提取到您的vendor/gems文件夹,并转到/vendor/gems/Public\u Activity-1.4.2/lib/Public\u Activity/orm/active\u record/Activity.rb,然后在那里应用
acts\u as\u votable
,并检查它是否有效。使用Activity.likes.size或更高版本显示使用更改它会返回此错误:未定义的方法“likes”