Я пытаюсь заставить работать searchkick, но при попытке переиндексации моих историй через консоль я сталкиваюсь с ошибкой. Кажется, я не понимаю, в чем может быть ошибка, и хотел бы помочь.
Ошибка через консоль после ввода "Story.reindex":
Story Import (3.6ms) {"count":2,"exception":["ArgumentError","wrong
number of arguments (given 0, expected 2..3)"],"exception_object":"wrong
number of arguments (given 0, expected 2..3)"}
ArgumentError: wrong number of arguments (given 0, expected 2..3)
from app/models/story.rb:42:in `hot_score'
from (irb):1
story.rb модель:
class Story < ApplicationRecord
searchkick
has_many :votes
scope :newest, -> { order(created_at: :desc) }
scope :hottest, -> { order(hot_score: :desc) }
def upvotes
votes.sum(:upvote)
end
def downvotes
votes.sum(:downvote)
end
def calc_hot_score
points = upvotes - downvotes
time_ago_in_hours = ((Time.now - created_at) / 3600).round
score = hot_score(points, time_ago_in_hours)
update_attributes(points: points, hot_score: score)
end
private
def hot_score(points, time_ago_in_hours, gravity = 1.8)
(points - 1) / (time_ago_in_hours + 2) ** gravity
end
end
Может кто-нибудь помочь объяснить, что происходит и, возможно, способ обойти это? Я все еще довольно новичок в Руби.
Спасибо заранее.