кодировщик Ruby здесь.
Я выполнил следующие действия: https://masteruby.github.io/weekly-rails/2014/08/05/how-to-add-voting-to-rails-app.html#.XMFebOhKg2w, чтобы загрузить этот камень act_as_votable, однако, когда я обновляю свой сайт, чтобы посмотреть, работает ли он, я получаю следующую ошибку: undefined method `acts_as_votable' for #<Class:0x00007f65df881b38>
Код не похож на тот факт, что я добавил act_as_votable
в мою модель, я хотел бы использовать его.
Ошибка в моей консоли также указывает, что что-то не так в моем контроллере. Мне тоже нужно что-то там определять?
Заранее спасибо,
Анжела
Модель Я хочу использовать драгоценный камень act_as_votable, вы можете видеть, что я добавил его в соответствии с инструкциями:
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
acts_as_votable
mount_uploader :photo, PhotoUploader
end
Мой контроллер причесок с методом upvote в конце:
class HairstylesController < ApplicationController
def index
if params[:category].present?
@hairstyles = Hairstyle.where(category: params[:category])
elsif params[:search].present?
@hairstyles = Hairstyle.where('name ILIKE ?', '%#{params[:search]}%')
else
@hairstyles = Hairstyle.all
end
end
def show
@hairstyle = Hairstyle.find(params[:id])
@comment = Comment.new
end
def new
@hairstyle = Hairstyle.new
end
def create
@hairstyle = Hairstyle.create(hairstyle_params)
@hairstyle.user = current_user
if @hairstyle.save!
redirect_to hairstyle_path(@hairstyle)
else
render 'new'
end
end
def edit
@hairstyle = Hairstyle.find(params[:id])
end
def update
@hairstyle = Hairstyle.find(params[:id])
@hairstyle.update(hairstyle_params)
redirect_to hairstyles_path
end
def destroy
@hairstyle = Hairstyle.find(params[:id])
@hairstyle.destroy
redirect_to hairstyles_path
end
def upvote
@hairstyle = Hairstyle.find(params[:id])
@hairstyle.upvote_by current_user
redirect_to hairstyles_path
end
private
def hairstyle_params
params.require(:hairstyle).permit(:name, :description, :category, :location, :stylist, :photo, :video_url, :photo_cache)
end
end
Мой индексный файл, на котором я бы хотел отобразить камень:
<% @hairstyles.each do |hairstyle| %>
<%= link_to "upvote", like_hairstyle_path(hairstyle), method: :put%>
<%end %>
</div>
Вот мой репо, если нужно: https://github.com/Angela-Inniss/hair-do