Alexのぶろぐ

programming/scala/play!/php/javascript/three.js/unity/xcode5/rails/rubymine メモ用です

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にファイル名だけ渡してループさせているのですが、
もっとちゃんとしたやり方があればご教授ください。。。