Я работаю над приложением, где люди могут любить сообщения. Я использую жемчужину общественной деятельности, а Acts As Votable.Acts As Votable With Public Activity
Я получаю эту ошибку, когда я пытаюсь просмотреть страницу:
undefined method 'get_upvotes' for PublicActivity::Activity:0x00000101453ad8
get_upvotes должен прийти с acts_as_votable. Что я делаю не так?
пользователя Модель
class User < ActiveRecord::Base
acts_as_voter
end
активность Модель
class Activity < ActiveRecord::Base
acts_as_votable
end
View Code
<% 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
Спасибо за любую помощь вы можете предложить. Я нахожусь на грани знания Rails. :)
Попробуйте извлекая ** Общественная деятельность ** камень для вашего поставщика папку/драгоценных камней и Гото **/поставщика/драгоценные камни/public_activity-1.4.2/Библиотека/public_activity/ОРМ/active_record/activity.rb ** и примените там 'act_as_votable' и проверьте, работает ли он. – Abhi
use activity.likes.size или более лучше для отображения использования <% = number_to_human (activity.likes.size)%> – Milind
Изменение этого параметра возвращает эту ошибку: undefined method 'likes ' –