Play Tips

はじめに

Play使ってて困ったことと解決方法纏めてみた。

カンマ区切りしたい

JavaのString.formatの書式で、%,dとかすると、数値にカンマ付けられる。

ScalaのString Interpolationを使えばこんな風に。

f"${num}%,d"

Play Templateでもこんな風に

@{f"${num}%,d"}

以下サンプル

https://github.com/ponkotuy/MyFleetGirls/blob/fb4f3681ca9ba13a84b6bb141cccef66367f57be/server/app/views/user/statistics.scala.html#L38

JavaScriptライブラリ管理

MyFleetGirlsという自作アプリでは、JavaScriptのライブラリはcdnjsから取ってくることにしている。リポジトリにjs入れるのはライセンスとか面倒くさいし、ビルドツール側でjsライブラリを持ってくる仕組みを整えるのは面倒くさかったからである。

ただ一方で、この状態でページ数が増えると、ライブラリのバージョンアップがひどく面倒くさくなる。また、複数バージョンが乱立したりしたら元も子もなくて、jsのロードが増えてページが重くなったりと、いいことがまるでない。

という訳で、cdnjsのURLを一元管理するようにした。

https://github.com/ponkotuy/MyFleetGirls/blob/ac6bbcae5df5b66031d7483e119685813df59a68/server/app/views/Js.scala

使い方はこんな感じ

https://github.com/ponkotuy/MyFleetGirls/blob/ac6bbcae5df5b66031d7483e119685813df59a68/server/app/views/user/dock.scala.html#L2

コメントにもあるように、Template全体でimportしたいならsbtに以下のように設定すればいい

TwirlKeys.templateImports += "views.Js"