Closed4
📚 パーフェクトRuby on Rails【増補改訂版】
1章 Ruby on Railsの概要
rake
コマンドとは
makeコマンド風にタスクを実行するためのタスクランナーで実行する処理をRake
タスクと呼ぶ
bundle
コマンド
よく使用されるBundler
のサブコマンド
サブコマンドとは、あるコマンド(命令)の下で実行される下位のコマンド
コマンド | 概要 |
---|---|
bundle install |
Gemfile(.lock) に書かれているgem パッケージをインストールする |
bundle update [ライブラリ名] |
インストール済みのgem パッケージのバージョンを更新する |
bundle list |
インストール済みのgem パッケージの一覧を表示する |
bundle init |
Gemfile を生成する |
bundle exec [コマンド名] |
Bundler でインストールされてるgem パッケージを使用してコマンドを実行できる |
Railsの思想
COC(Convention over Configuration) 設定より規約
例えば... 以下のような規約がある
- データベースのテーブル名はモデルの複数形にする(
モデル名:User
の場合テーブル名:users
) -
/users
というURLはユーザー一覧を表す - ユーザーID:1を表すURLは
/users/1
である
DRY(Don't Repeat Yourself) 同じことを繰り返さないという意味
REST(Representational State Transfer) すべてのリソースは一意となる識別子である
自動テスト RubyやRailsでは自動テストを行うことを重要視する
2章 Ruby on RailsとMVC
MVCアーキテクチャ
- モデルについて少し詳しく
- マイグレーションについて詳しく
-
ActiveRecord::Relation
について少し深堀り
コールバックとトランザクションの使い分け
- コールバックは、ライフサイクルの中で副作用的に行う時に使用する
コールバックを起動する条件の設定とかもできる(本書
P72
)
- トランザクションは、複数の処理をまとめて1つの大きな処理として扱う機能
APIサーバとJSON
jbuilder
の使い方など
4章 フロントエンドの開発手法
Webpackerの概要
Webpackerのエントリーポイント
-
app/javascript
配下で作業を行い、ビルド結果はpublic/pack/js
へ出力する - エントリーポイントの読み込み
javascript_pack_tag
メソッドを使う - JSのコンパイルの細かい設定を行いたい場合は
babel.config.js
を編集する
パス | 内容 |
---|---|
app/javascript/packs |
エントリーファイルを置く場所 |
app/javascript |
エントリーファイルから読み込まれるモジュールを置く場所 |
config/webpacker.yml |
Webpackerの設定ファイル |
config/webpack/*.js |
最終的なwebpackの設定を出力する場所 |
babel.config.js |
babel用の設定ファイル |
.browserlistrc |
コンパイル対象となるブラウザ環境を記述するファイル |
Webpackerの関しての知識
- Rails6.0のCSS・画像の管理は、デフォルトでは
Sprockets
で管理しているが、Webpacker
で管理することもできる -
webpack-dev-server
を起動させておけばバックグラウンドで変更の都度ビルドしてくれる
Sprockets
Sprocketsの関しての知識
-
application.html
内部のstyleshee_link_tag
メソッドは、SprocketsでCSSをビルドした結果を反映する
rails-ujs
Turbolinks
Turbolinksの関しての知識
- Turbolinksは独自のメソッドを利用している(
onload
やDOMContentLoaded
などのイベントは発火しない) - ただし、独自メソッドを使用していることでほかのJSライブラリとうまく噛み合わないときがあるので注意が必要である(
Chart.js
の再リロードなどがうまくいかないエラーなどが出た)
このスクラップは2022/06/03にクローズされました