#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