Включение сессий в Ruby Sinatra: методы и примеры кода

Чтобы включить сеансы в приложении Ruby Sinatra, вы можете использовать метод enableвместе с опцией sessions. Включение сеансов позволяет хранить и получать данные пользователя по нескольким HTTP-запросам. Вот пример того, как включить сеансы в Sinatra:

require 'sinatra'
enable :sessions
get '/login' do
  # Store a value in the session
  session[:user_id] = 123
  # Retrieve the value from the session
  user_id = session[:user_id]
  # Perform other login-related actions
  "Logged in as user #{user_id}"
end
get '/logout' do
  # Clear the session data
  session.clear
  "Logged out"
end

В приведенном выше примере строка enable :sessionsвключает сеансы в приложении Sinatra. Объект sessionпозволяет хранить и извлекать данные, связанные с сеансом пользователя. В маршруте /loginидентификатор пользователя сохраняется в сеансе, а в маршруте /logoutданные сеанса очищаются.

Вот несколько дополнительных методов, которые можно использовать с сеансами в Sinatra:

  1. session[key]: извлекает значение, связанное с указанным ключом, из сеанса.
  2. session[key] = value: сохраняет значение в сеансе, связанное с указанным ключом.
  3. session.delete(key): удаляет из сеанса значение, связанное с указанным ключом.
  4. session.clear: удаляет все данные, хранящиеся в сеансе.