Данные не сохраняются в БД
В учебном проекте данные, которые передаются через curl запрос, не сохраняются в базу данных, например:
curl -X POST -i http://localhost:8080/users -d "firstname=Ivan" -d "lastname=Petrov" -d "age=30" -d "password=12345" -d "[email protected]"
не работает именно метод POST, с GET всё в порядке
require 'sinatra'
require 'sqlite3'
require 'erb'
set :port, 8080
set :bind, '0.0.0.0'
set :views, "./views"
db = SQLite3::Database.open 'db.sql'
db.results_as_hash = true
db.execute 'CREATE TABLE IF NOT EXISTS users
(
user_id INTEGER PRIMARY KEY AUTOINCREMENT,
firstname TEXT,
lastname TEXT,
age INTEGER,
password TEXT,
email TEXT
)'
post '/users' do
@firstname = params[:firstname]
@lastname = params[:lastname]
@age = params[:age]
@password = params[:password]
@email = params[:email]
db.execute 'INSERT INTO users (firstname, lastname, age, password, email)
VALUES (?, ?, ?, ?, ?)', [@firstname, @lastname, @age, @password, @email]
end
get '/users' do
@all_users = db.execute 'SELECT * FROM users ORDER BY user_id DESC'
erb :index
end