# Sinatra ## Intro [Sinatra](https://sinatrarb.com/) Sinatra其實也是一款 Rack 應用程式,Rack 是基底! Sinatra 與 Ruby on Rails:機車 vs 汽車 # 安裝 Sinatra ```shell $ gem install sinatra ``` ```ruby= require 'sinatra' get '/' do "hello world! #{ (1..43).to_a.sample }" end ``` ## 安裝 sinatra-contrib 不會重新整理有點麻煩… ```shell $ gem install sinatra-contrib ``` ```ruby= require 'sinatra' # 如果你現在是開發模式(本地),我幫你require進來 # 正式上線不建議載入,因為效能會差一點 require 'sinatra/reloader' if development? ``` ## 效能更好的伺服器 puma ```shell $ gem install puma ``` ## 看到的不一定是真的 ## 帶參數 ## 使用 erb ```ruby= require 'sinatra' get '/' do erb :index end ``` ## 共用版面 ## 使用實體變數 ```ruby= require 'sinatra' get '/' do @name = '孫悟空' # 實體變數 erb :index end ``` ```erb= 我的名字是 <%= @name %> ```