Railsを1から復習するため、
「現場で使えるRuby on Rails」通称「現場Rails」という本を読んでいます。
勉強になった部分をアウトプットしたいと思います。
参考書籍:
データベースの環境ごとの使い分け
Railsではデフォルトで3種類の環境が用意されていて、
1つの環境に対して1つのデータベースを対応させる。
config/database.yml
開発環境:
development(開発時の動作確認を行う環境)
テスト環境:
test(自動テストの時に使う環境)
本番環境:
production(ユーザが利用する時に使う環境)
基本的に開発時は、開発環境とテスト環境の2種類の環境を使用する。
サーバ起動前にdb:createコマンドを実行する必要があるが、
それによって、2つのデータベースが作成済みとなっている。
Created database 'アプリ名_development'
Created database 'アプリ名_test'
テンプレートエンジン
HTMLのテンプレート(雛形)とそこに記述された動的な処理から、
最終的なHTMLを生成するための仕組み。
Railsはデフォルトで、erbというテンプレートエンジンを使用する。
erbはHTMLとほぼ同じ見た目で、Rubyスクリプトを埋め込むことが可能。
Railsのエラーメッセージを日本語で出す方法
初期状態だとエラーメッセージが英語で出力されるため、
エラーメッセージを日本語に設定したい場合は日本語翻訳ファイルが必要とのこと。
やることは下記2点。
・localeの言語設定を行う
・辞書ファイルのダウンロードを行う
BootStarp
CSSのフレームワーク。
Railsで使う場合は、bootstrapというgemをGemfileに追加して、bundleでインストール。
rails newをした直後は、アプリケーション全体で1つのCSSファイル(application.css)を読み込むようになっている。
他のcssファイルはapplication.cssからさらに読み込む形で記述することになる。
したがって、Bootstrapはapplication.cssから読み込むようにしていく方がよいという。
モデル(Model)
モデルとは:
ビジネスロジックを担当する部分です。
DBとデータをやり取りしたり、データの登録・更新・削除などの処理を行います。
DBから取得したデータや処理の結果はControllerに送ります。
Railsの「モデル」は主に2つの要素から構成される。
・モデルに対応するRubyのクラス
・モデルに対応するデータベースのテーブル
マイグレーション
Railsのモデルクラスは、DBのテーブルの定義を読み込んで動作する。
そのため、モデルを作成する場合は、まずDBへのテーブル追加から行うとスムーズとのこと。
データベースにテーブルを追加する場合、Railsの用意しているマイグレーションという仕組みを使う。
DBスキーマ(テーブル構造等)への変更をRubyのプログラムとして実現する。
メリット:
・1か月前のコードの状態でアプリケーションを動かしたいといった場合、
必要なところまでスキーマの状態を戻すことが可能。
・複数の開発者が同時に別々のスキーマ変更を行っているケースでも、混乱なく、
必要な変更だけをデータベースに反映することができるメリットがあるとのこと。
リクエストパラメータ
Webアプリでは、リクエストにデータを添えることができる。
このデータを「リクエストパラメータ」と呼ぶという。
リクエストの仕方は2通りに分かれる。
・POSTで送る。form要素をsubmitする。
・GETで送る。URLの?以降に情報を含めることで送る。
Railsでは、コントローラにおいてparamsというメソッドを利用することで、
送られてきたリクエストパラメータをHashのような感覚で取得できる。