30歳 独学で始めるプログラミング ~WEBデザイン・アプリ開発~

ITスキルに興味がでたので、codeを書いてみたら面白くてハマってしまいました!日々何をやったのかを中心に、記事を書いていきたいと思います。

44日目:Ruby on Rails Ⅱ:変数を扱う/データベースを作成する (Rubyの組み込み/データベース/マイグレーション)

<学習日>

44日目

<学習内容>

① Ruby on Rails Ⅱ(0-46%):変数を扱う/データベースを作成する (Rubyの組み込み/データベース/マイグレーション)

<参考>

Progateレベル:190

 

<学習内容詳細>

f:id:yakuzen_kokoro:20200817222644p:plain

本日はRuby on RailsⅡの前半部分を完了することが出来ました^^

 

今日は少なめですが、ちょっと夏バテ気味かもしれないので、無理はしないようにということで。

 

 

① Ruby on Rails Ⅱ(0-46%):変数を扱う/データベースを作成する (Rubyの組み込み/データベース/マイグレーション)

f:id:yakuzen_kokoro:20200817222653p:plain

 

今日の学習内容は、「変数を扱う⇒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日でも長く続けられるように頑張っていきます^^

同志の方、一緒に頑張っていきましょう!