Я использую Rails 5.2 и потрясающий Ahoy gem , с mongoid в качестве ORM.
В контроллере домашней страницы я звоню current_visit.visitor_token
, который генерируетследующая ошибка:
MONGODB | ds111336.mlab.com:11336 | heroku_1f375nv7.find | STARTED |
{"find"=>"ahoy_visits", "filter"=>{"visit_token"=>"4f86bf0d-f694-4a46-
b1fb-4ff48722e5c5"}, "sort"=>{"_id"=>1}, "limit"=>1,
"singleBatch"=>true}
MONGODB | ds111336.mlab.com:11336 | heroku_1f375nv7.find | SUCCEEDED |
0.048124999999999994s
Completed 500 Internal Server Error in 297ms (ActiveRecord: 202.8ms)
NoMethodError (undefined method `visitor_token' for nil:NilClass):
Значение ahoy_visit
, сохраненное в файле cookie, равно b5b4fd64-ec42-4e6d-9740-e394ed4a24da
, однако Ahoy, похоже, ищет другой visit_token
(как указано выше).
инициализаторы/ahoy.rb:
class Ahoy::Store < Ahoy::DatabaseStore
end
# set to true for JavaScript tracking
Ahoy.api = true
Ahoy.server_side_visits = true
Если я удаляю данные веб-сайта из своего браузера (или открываю новый сеанс в окне в режиме инкогнито), ошибка не происходит, пока я не жду другой день (я предполагаю,пока сеансы не заканчиваются).
Я искал весь код и не могу понять, почему Ahoy не создает новую запись о посещении в БД.
Спасибо за любую помощь заранее!