• 締切済み

ruby on rails layout を使用

layoutを使用して、共通のヘッダーフッターを定義しています。 そのファイル内で、javascript_include_tag や、stylesheet_link_tag を行うようですが、 共通のlayoutでそれを行ってしまうと、 ページによって別のjsファイルを追加で読み込むことが出来ないのでは? と思っています。 これは通常どのように解決するのでしょうか? それともページごとにlayoutファイルを用意するような感じに作るのが普通ですか?

みんなの回答

回答No.1

content_forメソッドを使って差し挟むのが有効な方法ではないかなとおもいます ヘッダーの中で以下の様に記述しておいて、yileldの中にコンテンツを挿入できるようにしておいて <head> <title>Title</title> <%= stylesheet_link_tag "application" %> <%= yield :style_after %> <%= javascript_include_tag :application %> <%= yield :javascript_after %> <%= csrf_meta_tags %> </head> あとはそれぞれのVIEWで特殊なスタイルシートなどの追加が必要になったら <%= content_for :style_after do %> <%= stylesheet_link_tag "hoge" %> <% end %> の様に記述すると、hoge.cssを追加で読み込むように指定できます

関連するQ&A