前提

Rails開発の際に確認する用の投稿。

アプリケーションの初期化

  • アプリケーションの命名規則

    • ローカル環境はスネーク記法
    • Githubや本番環境などではパスカルケース
  • ~/ <development environment dir> / <application> にアプリケーションを ~/ <development environment dir> / <document> に開発に関わる資料を保存する

    • ~/ <development environment dir> / <document> へ保存するもの
      • アプリ概要
      • サイトマップ
      • モデル関係図 (カラム・型一覧)
      • 参考にするアプリケーションのスクリーンショット (任意)
      • 参考にするアプリケーションの機能一覧 (任意)
  • gemの追加(それに伴う設定)。bundle install・rails db:create/migrate、モデル・コントローラ・ビューの生成、モデルの関連付けが完了後以下を実行

    • git init
    • git add -A
    • git commit -m '[initialize] レポジトリの初期化'
    • git remote add origin https://github.com/<username>/<appname>.git
    • git push -u origin <branchname>

Gem

Bootstrap

Gemfileでbootstrapを指定してインストールする。
BootstrapはjQueryに依存するため、(デフォルトでjQueryがインストールされない)Rails5.1以上ではjquery-railsもGemfileに追記する。

Gemfile
gem 'bootstrap', '~> 4.0.0.beta2.1'
gem 'jquery-rails'

注意点
sprockets-railsv2.3.2.以上である必要がある。

$ bundle show |fgrep sprockets-rails
  * sprockets-rails (3.2.1)

Railsアプリの作成時に生成されるapplication.cssをapplication.scssにリネームするなどして、.scss(Sass構文の場合は.sass)ファイルを用意する。

$ mv app/assets/stylesheets/application.css app/assets/stylesheets/application.scss

app/assets/stylesheets/application.scssでbootstrapをimportさせる。

/assets/stylesheets/application.scss
@import "bootstrap";

Bootstrapと依存関係をapplication.jsに追記する。

app/assets/javascripts/application.js
//= require rails-ujs
//= require jquery3
//= require popper
//= require bootstrap-sprockets
//= require turbolinks
//= require_tree .

補足

  • Bootstrapのtooltipsやpopoverはpopper.jsに依存している
  • bootstrapの依存gemにpopper_jsが指定されているため新たにインストールは不要
  • コンパイルを高速化したい場合はbootstrap-sprocketsの代わりにbootstrapを指定する
  • レスポンシブ対応にするには<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">を指定する、あとあとmeta-tagsで指定するのもあり

Dotenv

Railsの環境のよって変わる設定値 (database.yml etc...) を環境変数として扱えるようにするGem、Gemfileでdotenv-railsを指定してインストールする。

Gemfile
gem 'dotenv-rails'

ホームディレクトリ直下に.envを作成。

.env
AWS_ACCESS_KEY_ID="hogehoge"
AWS_SECRET_ACCESS_KEY="mogamoga"

上記のように使用する。

Annotate

現状のスキーマの注釈をコメントとしてファイルの上部や下部に追記してくれる。

  • ActiveRecord models
  • Fixture files
  • Tests and Specs
  • Object Daddy exemplars
  • Machinist blueprints
  • Fabrication fabricators
  • Thoughtbot's factory_girl factories, i.e. the (spec|test)/factories/_factory.rb - - files
  • routes.rb file (for Rails projects)

Gemfileでannotateを指定してインストールする。

Gemfile
gem 'annotate', ">=2.6.0"

追加される注釈はこんな感じ:

   # == Schema Info
   #
   # Table name: line_items
   #
   #  id                  :integer(11)    not null, primary key
   #  quantity            :integer(11)    not null
   #  product_id          :integer(11)    not null
   #  unit_price          :float
   #  order_id            :integer(11)
   #

    class LineItem < ActiveRecord::Base
      belongs_to :product
     . . .

オプション

Usage: annotate [options] [model_file]*
オプション 説明
-d, --delete 注釈を削除する。
-p, --position [before or after] 注釈を追記する箇所を指定する。
--pc, --position-in-class [before or after]
:-- :--
--pf, --position-in-factory [before or after] factoryファイルにて、注釈を追記する箇所を指定する。
--px, --position-in-fixture [before or after] fixtureファイルにて、注釈を追記する箇所を指定する。
--pt, --position-in-test [before or after] testファイルにて、注釈を追記する箇所を指定する。
--pr, --position-in-routes [before or after] routes.rbにて、注釈を追記する箇所を指定する。
-r, --routes 'rake routes'の結果をroutes.rbに追記する。
-v, --version annotateのバージョンを表示する。
-m, --show-migration 注釈にマイグレーションの番号を含める。
--model-dir dir dirにあるmodelファイルに注釈を追加する。
--ignore-model-subdirects modelの副階層を無視する。
--sort カラムをアルファベット順に並べる
-e [tests,fixtures,factories] []で囲まれた対象には注記を追記しないようにする。 fixtures, test files, and/or factories --exclude
-f [bare or rdoc or markdown] スキーマ情報を描画するフォーマットを指定する。
--force 変更がなくても注記を更新する。
--trace 注記追記に失敗したときスタックトレースを表示する。
--timestamp routes.rbに更新日時を追記する。

注意点
ファイル末尾に追記された注記よりしたにコメントを書かないこと。

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.