STUDY MEMO

学習のメモ書き

<Ruby on Rails> レイアウトテンプレートのデフォルトのhead

過去の描き直し。追加するかも
ここでは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'

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/

app/javascript/packsのapplication.jsを参照するという記載。

https://i.gyazo.com/330af057aa0a3a243d0e3e1e4b1e91f2.png

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]

[https://railsdoc.com/page/layouts:embed:cite]