В настоящее время я создаю свой первый API с использованием Grape и API-интерфейса Rails 5, и до сих пор он работает довольно хорошо.Я решил установить гем Impressionist , чтобы можно было регистрировать количество просмотров определенной модели (будущая "популярная" страница), но я столкнулся с проблемой, когда мне кажется, что я правильно настроил гем, ноimpressionist
метод, используемый для фактической регистрации информации в базе данных, не определен.
В моей модели камень инициализируется следующим образом: is_impressionable :counter_cache => true
У меня есть app/api/my_app/my_model.rb
module MyApp
class MyModel < Grape::API
# GET /api/v1/model/:slug
desc "Returns a model record"
params do
requires :slug, type: String, desc: "Model slug", allow_blank: false
end
route_param :slug do
get do
my_model = MyModel.friendly.find(params[:slug])
impressionist(my_model)
present my_model, with: MyModelPresenter
end
end
end
end
для регистрации активности, но импрессионистский методне определено.Я пытался ImpressionistController::ClassMethods.impressionist
также безуспешно.У меня есть другие драгоценные камни, такие как friendly_id и will_paginate, которые отлично работают из коробки с этой настройкой.Должен ли я требовать что-то конкретное?