Используйте ActiveRecord ::SessionStore для сеансов в Sinatra

#ruby-on-rails #session #activerecord #sinatra

#ruby-on-rails #сессия #activerecord #sinatra

Вопрос:

Я хочу сохранить данные сеанса в базе данных с помощью модуля ActiveRecord::SessionStore. Я довольно долго безуспешно искал для этого. Либо я не использую правильные условия поиска, либо я слеп к чему-то очень очевидному.

Я использовал это утверждение require ActiveRecord::SessionStore::Session в своем коде, чтобы включить обработку сеанса с активной записью. Он завершается с ошибкой неинициализированной константы ActiveRecord::ActionDispatch . Я предполагаю, что я установил модуль actiondispatch. Я прав?

Пожалуйста, имейте в виду, что это мой первый опыт работы с Ruby-Sinatra. Я пришел с PHP.

Итак, что я должен использовать, чтобы заставить Sinatra использовать сеансы на основе базы данных с использованием ActiveRecord?

Комментарии:

1. вы чего-нибудь добились с этим?

2. @andicrook Нет, перешел на Rails.

Ответ №1:

В итоге я решил uninitialized constant ActiveRecord::ActionDispatch ошибку, добавив actionpack драгоценный камень в Gemfile моего приложения и потребовав action_dispatch . Возможно, вам также придется require 'logger'

Ответ №2:

Sinatra — это приложение на базе стойки и допускает добавление промежуточного программного обеспечения. Промежуточные программы могут быть подключены к любой платформе на базе стойки. Поиск по ссылкам на config.ru в книге Синатры

таким образом, вы бы создали config.ru файл в корне вашего приложения. и поместите что-то вроде этого

 require 'my_app'
use ActiveRecord::SessionStore
run MyApp