<%= csrf_meta_tags %>
<%= csp_meta_tag %>
<%= stylesheet_link_tag ... %>
<%= javascript_importmap_tags %> これなに???
- <%= csrf_meta_tags %>
このタグは、CSRF(クロスサイトリクエストフォージェリ) 攻撃からアプリケーションを守るために使用されます。Railsは、フォーム送信やAJAXリクエストが正規のユーザーからのものかどうかを確認するために、セッションごとに一意のCSRFトークンを生成します。
役割: このメタタグは、CSRFトークンをページのメタデータに埋め込み、リクエスト時にトークンが正しいことを確認できるようにします。
利用方法: 通常は設定のままで、Railsが自動的にフォームやAJAXリクエストにトークンを含めてくれるため、開発者側で追加の操作は不要です。
2. <%= csp_meta_tag %>
このタグは、**CSP(コンテンツセキュリティポリシー)**を設定するために使用されます。CSPは、Webページで読み込むコンテンツの種類やソースを制限することで、XSS(クロスサイトスクリプティング)攻撃からアプリケーションを守ります。
役割: csp_meta_tagにより、Railsが生成するCSPヘッダーに従ってページのJavaScriptやCSS、画像の読み込み元を制限します。
利用方法: 開発者はconfig/content_security_policy.rbでCSPの設定を行うことができ、セキュリティポリシーに基づいて、外部のスクリプトやスタイルシートなどの読み込みを制御します。
3. <%= stylesheet_link_tag ... %>
このタグは、アプリケーションのスタイルシート(CSSファイル)をHTMLにリンクするために使用されます。
役割: このタグは、指定されたスタイルシートをHTMLに読み込み、アプリケーション全体のデザインやレイアウトを整える役割を持っています。
利用方法: デフォルトでは、stylesheet_link_tag "application", "data-turbo-track": "reload" のように記述して、app/assets/stylesheets/application.cssを読み込みます。他のスタイルシートを追加する場合も、ここにリンクを指定できます。
4. <%= javascript_importmap_tags %>
このタグは、JavaScriptモジュールのインポートをサポートし、Importmapを使ってJavaScriptファイルをHTMLにリンクするために使用されます。Rails 7では、JavaScriptの読み込みにWebpackやNodeを必ずしも必要とせず、ImportmapによりJavaScriptモジュールを簡単に管理できます。
役割: Importmapを利用してJavaScriptモジュールの読み込みを行い、依存関係をアプリケーションに追加します。
利用方法: config/importmap.rbでJavaScriptモジュールを設定し、ページで利用したいモジュールを指定して読み込みます。