TechAcademy Webアプリケーションコース(12日目)※RubyとMySQLの連携

学習12日目

Lesson10
RubyとMySQLの連携

難しいと感じ時間がかかってしまった所は、
タイトル通りのRubyとMySQLの連携。

HTMLを書く。
拡張子html→erbへ変更。
Sinatra + Puma で Web サイトを表示する。
viewsフォルダを作成、app.rb を作成して、Sinatra によってHTMLとして表示させる。
HTML内で動的な部分をRubyで置き換える。
MySQLでデータベースのテーブルを作成する。
そしてRubyとMySQLの連携

Ruby から MySQL に接続するには、 mysql2 という Gem を利用。
client = Mysql2::Client.new(...) は、MySQL のクライアントを Ruby プログラム上で作成し、Ruby と MySQL との通信を確保。確保した通信手段は、client という変数にインスタンスとして代入。ここが Ruby と MySQL の連携になる。

実行・表示
・目的のフォルダ(ディレクトリ)へ移動
 cd ~
・データベースサーバの起動
 $ sudo service mysqld start
・WebサーバPumaを起動
 $ ruby app.rb -o $IP -p $PORT
・ターミナルPreviewで表示

その後は書籍名登録フォームからデータ受け取ったり受け取ったデータをデータベースに保存したりの操作をした。

最低限のセキュリティ対策
<li><%= ERB::Util.html_escape(record['   ']) %></li>
受け取った「JavaScriptプログラム(クロスサイトスクリプティング)」を「ただの文字列」へ変換

本日の学習3時間
明日の目標
課題の復習 Ruby・SQLのカリキュラムの見直し

いいなと思ったら応援しよう!