Play framework 2.0 のためのブログです。
3月
20
Comments

Slick2.1にて、ManyToMany(多対多)を実現する方法例 今回の実装では、User *---* Project というリレーションを実現します。 val user = Users.findById(1).get val projects = user.projects // SQL走る val projects2 = user.projects // ここでは、キャッシュされた結果が返るためSQLは走らない 上記のように、アクセス可能で、初期アクセス時のみにSQLが発行されるような使用としています。 ■Dao.scala package models import scala.slick.lifted.TableQuery private[models] trait DAO { val Users = TableQuery[Users] val

[...]

Categories: ,
3月
17
Comments

認証のFilter処理で、TraitとActionでデータを渡す方法を実装 http://play-gf.blogspot.jp/2015/03/actionfilter.html の続編的記事です ■ AuthTrait.scala package controllers.components.actions import models._ import play.api.data.Form import play.api.data.Forms._ import play.api.db.slick._ import play.api.mvc._ import play.api.Play.current import scala.collection.mutable.HashMap import scala.concurrent.Future /** * Created

[...]

Categories: , ,
3月
13
Comments

以下、メソッドを関数オブジェクトに変換したり、カリーかしたりのメモ object Test { def main(args: Array[String]){ var add2 = add _ // メソッドを関数オブジェクトに変換 var addCurried = add2.curried // 関数オブジェクトをカリー化 val addCurried2 = (add _).curried // こんな風にまとめてもOK print(add(2,3)) print(add2(2,3)) print(addCurried(2)(3)) print(addCurried2(2)(3)) } def add(a:Int, b:Int) = a + b }

[...]

Categories:
3月
2
Comments

ActionのFilter処理を実行するためのTips。 ドキュメントだと、ActionsComposition のこと↓ https://www.playframework.com/documentation/2.3.x/ScalaActionsComposition 今回、Filterの処理内容をTraitとして実装する方法としました。 また、DBアクセスにSlickを使用し、FilterからもDBアクセスできるような実装となっております。 AuthTrait (Filter実装部) package controllers.components.actions import models.Users import play.api.db.slick._ import play.api.mvc.{Result, Request, Action} import play.api.Play.current import

[...]

Categories: , ,