過去の描き直し。追加するかも
ここではwebpackerについては詳細は記載しない。
rails6
テンプレートファイルとは
viewファイルのこと。
動的なデータをhtmlに入れるような扱いをされていることからテンプレート(雛形)ファイルと呼ばれる。
レイアウトテンプレートとは
application.htmlのような共通部分がまとめられるようなファイルをレイアウトといい、viewファイルであるので、レイアウトテンプレートとも呼ばれる。
デフォルトでは以下のようなheadになっている。
- head = csrf_meta_tags = csp_meta_tag = stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' = javascript_pack_tag 'application', 'data-turbolinks-track': 'reload'
stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload'
assets/stylesheets/application.cssを参照する、という記載。
webpackerを使用するときは、javascript/packsにあるエンドポイントを利用してcssを取り込むため、stylesheet_pack_tagという記載になる。
stylesheet_pack_tag:https://www.rubydoc.info/gems/webpacker/Webpacker%2FHelper:stylesheet_pack_tag
stylesheet_link_tag:https://railsdoc.com/page/stylesheet_link_tag
'data-turbolinks-track': 'reload':https://techtechmedia.com/turbolinks-rails/
media: 'all':https://reference.hyper-text.org/html5/attribute/media/
javascript_pack_tag 'application', 'data-turbolinks-track': 'reload'
app/javascript/packsのapplication.jsを参照するという記載。
csp_meta_tag:
クロスサイトスクリプティング攻撃を緩和するコンテンツセキュリティポリシー(Content Security Policy: CSP)を実装。
csrf_meta_tags:
クロスサイトリクエストフォージェリー(Cross-Site Request Forgery: CSRF)攻撃を緩和
参考:
[https://railstutorial.jp/chapters/static_pages?version=6.0#code-application_layout:embed:cite]