неопределенная локальная переменная или метод «act_as_votable» для пользователя (вызов «User.connection» для установления соединения): класс - PullRequest
0 голосов
/ 26 апреля 2019

Я установил гем 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 %>

1 Ответ

1 голос
/ 26 апреля 2019

Заметьте, что говорится в сообщении об ошибке?

undefined local variable or method 'act_as_votable' for User (call 'User.connection' to establish a connection):Class
                                    ^^^^^^^^^^^^^^

Должно быть:

acts_as_votable

not:

act_as_votable

(Вы ошиблись в обоихUser и Hairstyle.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...