Play! scala でテンプレートごとに読み込むcssを変える方法
ページごとに読み込むcssを変えたい場合どうしたらいいのかわからなかったのでメモ
とりあえずとった方法は
main.scala.htmlにて
一番上の引数の部分を
@(title: String,assets: List[String])(content: Html)
にする
→assetsというリストを引数にとる
で
<link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/main.css")"> <link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/style.css")">
とかかいてあるところのすぐ下に
@assets.map { asset => <link rel="stylesheet" media="screen" href="@routes.Assets.at(asset)"> }
って書く。
つまり配列でmain.scala.htmlにそのテンプレートで使いたいファイルを渡してあげる
んで、各viewのテンプレートhoge.scala.htmlのmainを呼び出す箇所にて呼びたいcssを記述してあげる
@main("Welcome to Play",List("stylesheets/login.css","stylesheets/hoge.css")) { //中身 }
みたいな!!!
とりあえずリストでmain.scala.htmlにファイル名だけ渡してループさせているのですが、
もっとちゃんとしたやり方があればご教授ください。。。