アプリケーション作成の準備

アプリのひな形の作成

# ひな形の作成(新しいRailsアプリが作成される)
$ rails new アプリ名

# 先程作ったアプリケーションディレクトリに移動
$ cd アプリ名

# データベースの作成
$ bin/rails db:create

# サーバーを起動する
$ bin/rails s

データベースの使い分け

  • Railsはデフォルトで3種類の環境が与えられていて、1つの環境に対し、1つのデータベースを対応させる。

|開発の種類|環境のシステム名|用途| |:---:|:---:|:---:| |開発|development|動作確認| |テスト|test|自動テスト| |本番|production|ユーザーが利用可能な形で稼働| * config/database.ymlにどの環境にどのデータベースを対応させるか記述する * 開発時は、開発とテストの環境を使う

Slimを作成する

  • RailsではデフォルトでERBというテンプレートエンジンが採用されているが、HTMLをツリー構造で簡単に表現できるSlimを使うことが多い
  • Slimを利用するにはSlim-railsとhtml2slimという2つのgemをGemfileに定義する
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]

# ここから追加
# Slimのジェネレーターを追加してくれる
gem 'slim-rails' 
#ERB形式のファイルをslim形式に変換してくれる
gem 'html2slim'

#Gemfileに書かれたgemをインストールされた状態にする
$ bundle

*この時点でapp/views/layoutsディレクトリの中にERB形式のファイルがあるのでerb2slimコマンドでSlimに変更する。

$ bundle exec erb2slim app/views/layouts/ --delete

Bootstrapを導入する

  • Bootstrapというフロントエンドフレームを使って手軽に見栄えのいい画面を作成する
# Bootstrapというgemを追加して使用できるようにする
$ gem 'Bootstrap'

# インストール
$ bundle
  • Railsはアプリ全体で1つのCSSファイルを読み込むようになっているので、Bootstrapもapp/assets/stylesheets/application.cssから読み込むようにする必要がある
  • CSSにもSlimと同じように効率よく表現できる形式としてSassがあるので、application.cssは削除して、application.scssを作成します
# app/assets/stylesheets/application.cssを削除
$ rm app/assets/stylesheets/application.css
  • エディタからapp/assets/stylesheets/application.scssを作成
@import "Bootstrap";
  • これで各画面にBootstrapのデザインを反映できるようになる

HTMLのtitle、画面の見出しを整える

  body
    #ここから追加
    .app-title.navbar.navbar-expand-md.navbar-light.bg-light
      .navbar-brand Taskleaf
    .container
      - if flash.notice.present?
        .alert.alert-success = flash.notice
    #ここまで
      = yield

Railsのエラーメッセージを日本語表示にする

  • GitHubrails-l18nリポジトリに翻訳されたファイルがあるのでそのrawファイルをconfig/locales/ja.ymlとしてダウンロード
$ wget https://raw.githubusercontent.com/svenfuchs/rails-i18n/master/rails/locale/ja.yml -P config/locales/
# 日本語ファイルを使うようにアプリの設定を変更する
Rails.application.config.i18n.default_locale = :ja