Railsチュートリアル第5章
はじめに
Ruby on Railsチュートリアル(第6版)のメモ、演習の解答例を記述した記事です。
解答は個人のものなので、誤りがあればご指摘ください。
開発環境 Ruby: 2.7.2 , Rails: 6.1.4
メモ
ヘルパー
5章で新出のヘルパー
image_tag
イメージタグを生成する。
app/assets/images配下に画像を置いた場合の例
image_tag("rails.svg", alt: "Rails logo", width: "200px")
アセットパイプライン
個別のアセット(画像、CSS、JavaScript)を最小化、圧縮、連結する一連の機能のこと。
サーバーへのリクエストを減らしたりファイルの使用頻度を減らすというメリットがある。
マニフェストファイル
アセットをどのように1つのファイルにまとめるかをRailsに指示するためのファイルのこと。
実際にアセットをまとめる処理を行うのはSprocketsというgem
※Rails6からはwebpackが採用されている
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
デフォルトで作成されるファイルのhead内には上記の記述がある
つまりデフォルトでは
assets/stylesheets/application.css
assets/javascripts/aapplication.js
をマニフェストファイルとして指定している
名前付きルート
get '/help', to: 'static_pages#help'
上記のようにルートを設定するとhelp_pathやhelp_urlのような名前付きルートを使えるようになる。
help_pathとhelp_urlでは返す値が違う。
help_path -> '/help' help_url -> 'https://www.example.com/help'
Railsチュートリアルでは基本的に〇〇_pathを使い、リダイレクトするときのみ〇〇_urlを使う。HTTPの標準としてはリダイレクトするときは完全なURLが要求されるから_urlを使う。
統合テスト
複数のアプリケーションの機能が連動しているか、そして連動している処理が正常に動くかを確かめるテストのこと。
$ rails generate integration_test 統合テスト名
演習メモ
5.3.4の演習でApplicationヘルパーをテストで使えるようにインクルードしている。
おわりに
5章ではメインページのレイアウトを作成して、リンクを追加することで別のページと行き来することができるようになりました。
アセットパイプラインが雰囲気しかわかっていないからちゃんと理解しないと、、、
今度テストについてまとめたいです!