何の記事?
Ruby + SinatraでWebアプリを作ります。
Sinatraってなに?
Rubyの軽量Webアプリケーションフレームワークです。
対象読者
Sinatraってどんなかんじって人?
RubyでWebアプリ作りたいけどなんかいいFWあるって人?
環境
- Windows 10 x64
- Ruby 2.2.4p230 x64
- Google Chrome
Rubyはインストール済みかつパスを通してあるものとします。
Sinatraのインストール
コマンドプロンプトからgemをインストールします。
gem install sinatra
gem install sinatra-reloader
sinatra-reloader
はアプリをホットスワップするためのgemです。
Webアプリの作成
プロジェクトのディレクトリ構成は以下のようにします。
root/
┠ views/
┠ public/
┗ app.rb
以下のコードを作成します。
app.rb
require 'sinatra'
require 'sinatra/reloader'
Viewの作成
ビューは.erb形式で記述することができます。
views以下に配置します。
とりあえずトップ画面を作成してみましょう。
views/top.erb
<!DOCTYPE html>
<html>
<body>
<h1>top</h1>
<span>this is top.</span><br>
<span><%= @message %></span>
</body>
</html>
app.rbに以下の記述を追加します。
これでトップ画面が見れるようになります。
get '/top' do
@message = "hello sinatra!"
erb :top
end
この状態でブラウザから localhost:4567/top にアクセスすると先ほど作成したトップ画面が表示されます。
もしapp.rbを編集しても、sinatra/reloaderをインストールしてrequireしているため、アプリを再起動する必要はありません。
formを使う
※書きかけです。
ajaxを使う
※書きかけです。