目的:htmlのinputタグ(テキストボックス)で入力されたデータを取得し表示する。
実施環境:
OS:Windows8.1
Ruby:v2.2.2
Sinatra:v1.4.6
Haml:v4.0.6
ディレクトリ構造:
作業ディレクトリ
|-sinatra_start.rb(ファイル)
|
|-views(ディレクトリ)
|-index.haml(ファイル)
|-request_print.haml(ファイル)
目次:
- 入力データを取得(sinatra_start.rb)
- 入力フォームを作成(index.haml)
- 入力データを表示(request_print.haml)
- 説明&実行
以前、以下の記事を閲覧して頂いたことがある方は、
ソースコードを追記/修正する形で実施すると楽です。
1.入力データを取得(sinatra_start.rb)
1.1
画面側で入力されたデータを取得する部分を記述する。
ソースコードは以下の通り作成した。
2.入力フォームを作成(index.haml)
2.1
画面に入力するための入力フォームを作成する。
ソースコードは以下の通り作成した。
3.入力データを表示(request_print.haml)
3.1
入力されたデータを画面で確認する部分を作成する。
ソースコードは以下の通り作成した。
4.説明&実行
4.1
Ruby側についての説明
データの取得の仕方は、
「params[:inputタグのnameの値]」で取得できる。
また、直接(?)Webリクエストの内容からも取得できた。
「request[:inputタグのnameの値]」でも取得できた。
現状、使い分けがどうなっているのか分からない。
しかし、Sinatraの本家サイトではルーティングの説明の後に
paramsでデータを取得をしている部分があるので、
おそらくparamsを使っていれば問題はないと思う。
4.2
Haml側についての説明
index.hamlについての説明。
Hamlでは、inputタグを以下のように記述する。
「%input{:type => "text", :name => "name"}」
typeにinputの種類(今回はテキストボックス)を、
nameにはparamsで取得するための名前を設定している。
inputタグの詳しい設営はhtmlのドキュメントか説明サイトを参照にして下さい。
request_print.hamlの説明は表示のみなのでなし。
4.3
以下のコマンドで実行する。
コマンド: ruby sinatra_start.rb
画面下部に入力フォーム3つとボタンが出ていることを確認し、
適当な文字を入力フォームに入力する。
送信ボタンを押下する。
ページ遷移し、入力した値が表示されていれば問題ない。
以上!!
参考にさせて頂いたサイト
Sinatra本家(日本語訳)
管理人の独り言...
これで、パーツは概ね問題ないかな...?
まだ、DBやらActiveRecordだとかあるけど、
修正でプログラムすればいいし大丈夫だろう。
というわけで、ようやっと掲示板の作成に取り掛かれます。
内容的には、Webの基本中の基本的な内容なので、
あまり過度な期待はしないで下さい。
管理人の独り言...
これで、パーツは概ね問題ないかな...?
まだ、DBやらActiveRecordだとかあるけど、
修正でプログラムすればいいし大丈夫だろう。
というわけで、ようやっと掲示板の作成に取り掛かれます。
内容的には、Webの基本中の基本的な内容なので、
あまり過度な期待はしないで下さい。