44日目:Ruby on Rails Ⅱ:変数を扱う/データベースを作成する (Rubyの組み込み/データベース/マイグレーション)
<学習日>
44日目
<学習内容>
① Ruby on Rails Ⅱ(0-46%):変数を扱う/データベースを作成する (Rubyの組み込み/データベース/マイグレーション)
<参考>
Progateレベル:190
<学習内容詳細>
本日はRuby on RailsⅡの前半部分を完了することが出来ました^^
今日は少なめですが、ちょっと夏バテ気味かもしれないので、無理はしないようにということで。
① Ruby on Rails Ⅱ(0-46%):変数を扱う/データベースを作成する (Rubyの組み込み/データベース/マイグレーション)
今日の学習内容は、「変数を扱う⇒HTMLにRubyを突っ込む」ということと、「データベースを作成する」の2点です!
ではさっそく具体的なcodeを挙げながら、本日の内容を振り返ります^^
・復習だけどWEBアプリ開発は「url⇒ルート⇒コントローラ⇒ビュー⇒ブラウザ」の流れを意識すること。
ジェネレートするときにも、上記の一連の流れが新しく作成されると考えておけばOK。
・HTMLのcodeの中にRubyのcodeを埋め込む方法について
HTMLのcodeの中に、変数やデータベースとのやりとりをさせるRubyのcodeを埋め込むことが出来る。
その方法は以下のとおりで、ブラウザに表示させる場合と、ブラウザへの表示はさせずに、処理だけを行う場合にわかれる。
<ブラウザに表示させる場合:文字列の表示など>
<%= Rubyのcode %>
<ブラウザに表示させない場合:変数の定義など>
<% Rubyのcode %>
HTMLにPHPを組み込むときと同じ感じだね。
・ビューで使用する変数はコントローラーファイルのアクション内で定義することが一般的
コントローラー内で変数を定義して、それごとビューに渡すようなイメージ。アクション内での記載の仕方は以下のとおり。
def アクション名
@変数名 = 定義内容
end
ここで、変数名の前には@をつけないと、ビューファイルに渡してくれないので注意が必要。そして、ビューファイル側でも@変数名で記述する必要がある。
・データベースはExcelのようなテーブル型であることを強く意識する。
縦の列をカラム、横の行をレコードと呼ぶ、テーブル上のデータ格納方式をとっている。
当り前のようだけど、ここを意識することで迷子率を下げられる。
・データベースの作り方
まずはターミナルでマイグレーションファイルの作成を指示する。
具体的なcodeは以下のとおり(「Post」テーブルに「content」というカラム名の「text」データ型のデータを格納する場合)。
<ターミナル>
$ rails g model Post content:text
「$ rails g model テーブル名 カラム名:データ型」という書き方をすればOK
なお、生成されるマイグレーションファイルは「/db/migrate」というファイルの中に格納される。
そのあとにマイグレーションファイルを実行して、データベースを作るコマンドを打てばOK。
つまり、全体としては、以下の2行のcodeで、データベースは作成される。
なお、マイグレーションファイルを作るだけ作って、実行しないままだとブラウザがでマイグレーションエラーが発生してしまうので、以下の2行はセットで実行するようにする。
<ターミナル>
$ rails g model Post content:text
$ rails db:migrate
はい、ということで明日は後半をつぶしにかかろうと思います!
データベースを作成できたので、次からはこのデータベースをいじることが出来るだろうと思って、ワクワクしています^^
ではでは、1日でも長く続けられるように頑張っていきます^^
同志の方、一緒に頑張っていきましょう!