できてる部分までで調べて習得したこと、覚えたことを書いてく
レイアウトはBootstrap
面倒なテーブルの部分は完全にコンテナレイアウトで表現できるし、自分がフロントエンドやデザインやってない人間なので、割と簡単にキレイに組めるのはありがたい話。
特にボタンを応用したりしてアイコン+背景オーバーレイとか簡単にできるのは本当にいいよね
PlayFramework + Scala
画面遷移周り
routes ファイルに追加するだけ
HTTPメソッド パス コントローラメソッド
例)
GET /info controllers.InfoController.info
みたいな感じ。先にコントローラに必要なメソッドをもつように実装しておくと吉ですね。
AbstractController を継承して作成しとくといいっぽい。
コントローラから
Okメソッドで返すときの定義でレスポンスが変わるっぽい
HTML返すときは
views.html.info()
とすると、viewsのstart.info.html
を使う
このとき、main.scala.htmlとコンテンツという形で表示する。
mainが全体のレイアウト
infoがmainの中にある@content内部に表示される
それ以外のレスポンスの返し方はまだ調べてない。Jsonで返す必要がどこかであるから、調べないといけない
ScalaのList周り
val 変数名 = List(A,B,C)
とか- 作ったリストのシャッフル。
scala.util.Random#shuffle
- これで受け取ったリストの先頭から3件取得
list#take(3)
これで、リーダーシャッフルして先頭3件取ることで、シャドバの2Pickの最初であるリーダー選択を作成できるようになった。
PlayframeworkのViewテンプレート周り
@は魔法のことば。
public配下がどんなふうにアクセスされるか
routesの定義がデフォルトこういう感じ
GET /assets/*file controllers.Assets.versioned(path="/public", file: Asset)
で、public配下の静的コンテンツにアクセスするにはこういう感じ
@routes.Assets.versioned("images/hoge.png")
分岐は @if(条件){ コンテンツ }
で。
条件には、普通のScalaの形式で書ける
これから調べること
実際のPick中はSPAでやりたいので、axiosでRESTへ投げたい
PlayframeworkでRESTを作ってjsonでレスポンスさせる必要がある