Back

ruby - sinatra的用法,还是完整的记录一下吧

发布时间: 2022-09-16 00:14:00

sinatra的特点就是快,因为代码少,加载的少。   sinatra <  grape < rails

所以sinatra 作为api 特别合适。

下面是一些笔记。

Gemfile

source 'https://gems.ruby-china.com'

gem 'sinatra-contrib'
gem 'puma'

所有的内容都放在app.rb 中, 运行方式

渲染json

require 'sinatra'
require 'sinatra/json'

get '/ping' do
  json result: 'pong'
end

启动:

bundle exec ruby app.rb

使用 数据库

Gemfile  中增加;  gem 'sinatra-activerecord'

增加数据库的配置文件:  config/database.yml

default: &default
  adapter: mysql2
  encoding: utf8
  collation: utf8_general_ci
  pool: 5
  #host: <%= ENV['DATABASE_HOST'] %>
  #username: <%= ENV['DATABASE_USER'] %>
  #password: <%= ENV['DATABASE_PASS'] %>
  host: localhost
  username: root
  password: 666666

development:
  <<: *default
  database: coiex

test:
  <<: *default
  database: coiex_test

production:
  <<: *default
  url: 'mysql2://root:666666@localhost:3306/xxx?pool=10&timeout=3000'

Back