Sinatra基礎
Sinatraはrubyのフレームワーク
コントローラー
○○にGETリクエストをしたい時get ○○do..endと入力する
POSTリクエストしたい時も同様である。
例)/listにGETリクエスト
get '/list' do....end
Viewについて
Sinatraでは.erbファイルを使用している
.erbはhtmlにrubyを埋め込むことが出来るようになったファイル
<% %>で埋め込める。
<%=%>にすると実行結果を表示させる
if文とかは<% %>で、変数を出力したい時は<%=%>を使うような認識で大丈夫
変数の前に@が付いていない変数はスコープがブロック内のみ
.erbファイルに変数を渡すときは@number=0のように@をちゃんと付ける
FormとInputについて
フォームをクライアントからサーバーに送信する際の手順
code:html
<form action="/create"method="post">
<input type="text"name="title">
<input type="text"name="price">
<input type="submit"value="送信">
</form>
formタグについて
action リクエストの送信先
method リクエストの種類 getとpostがあり、HTTPメソッドと呼ばれる。
Inputタグについて
type テキストボックスとかラジオボタンとか
name 値の名前
サーバー側(Sinatra)
code:ruby
post/createdo
item.create{{
}}
redirect/
end
URLにパターンを持たせて簡略化した方法
code:rb
get'/hello/Taro'do
'Taro'
end
get '/hello/Jiro'do
'Jiro'
end
これを短く書くと
code:rb
get'/hello/:name'do
end
この場合params[:name]は、/hello/TaroならTaro、/hello/JiroならJiroになる。
paramsメソッドとは、URLから送られてくる情報を受け取るメソッド
送信について
form要素に含まれる各input要素の内容を送信するには送信ボタンを用意する必要がある。
type属性を「submit」にすると良い。
code:html
<h1>送信フォームです!</h1>
<form action="/course" method="post">
<input type="text" name="couse">
<input type="submit" value="送信">
<form action="送信先のURL" method="送信方法">
code:ruby
post '/course'do#htmlのと一致したルーティングが実行される
end