Я установил гем act_as_votable и следовал инструкциям, добавив драгоценный камень в мой гемфайл, перенести db, добавил «выступать как записываемый» в модели и добавил методы в контроллер.Я также обновил свою индексную страницу, чтобы показывать кнопки, однако я получаю это сообщение об ошибке при загрузке своей страницы:
undefined local variable or method `act_as_votable' for User (call 'User.connection' to establish a connection):Class
Я никогда не видел эту ошибку раньше, я новичок в ruby ...
здесьмой репо для простоты понимания: https://github.com/Angela-Inniss/hair-do
Модель пользователя:
class User < ApplicationRecord
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :validatable
has_many :comments
has_many :hairstyles
has_many :saved_hairstyles
act_as_votable
end
модель прически:
class Hairstyle < ApplicationRecord
belongs_to :user, optional: true
has_many :comments, dependent: :destroy
validates :name, presence: true
validates :description, presence: true
validates :category, presence: true
act_as_votable
mount_uploader :photo, PhotoUploader
end
контроллер прически:
def upvote
@hairstyle = Hairstyle.find(params[:id])
@hairstyle.upvote_from current_user
redirect_to hairstyles_path
end
def downvote
@hairstyle = Hairstyle.find(params[:id])
@hairstyle.downvote_from current_user
redirect_to hairstyles_path
end
index.html.erb:
<%= link_to like_hairstyle_path(hairstyle), class: 'like' method: :put do %>
<i class="fa fa-heart">
<span><%= hairstyle.get_upvotes.size %><span>
</i>
<%end %>
<!--this is a link block- create the block and then add elements inside?-->
<%= link_to like_hairstyle_path(hairstyle), class: 'like' method: :put do %>
<i class="fa fa-heart">
<span><%= hairstyle.get_downvotes.size %><span>
</i>
<%end %>