我正在使用Play 2.2在Scala中创建一个应用程序.我play-slick 0.5.0.8
用作MySQL DB连接器.我有以下应用程序控制器:
package controllers
import models._
import models.database._
import play.api._
import play.api.mvc._
import play.api.Play.current
import play.api.db.slick._
object Application extends Controller {
// WORKS:
def test = DBAction {
implicit session => Ok(views.html.test(Cameras.findById(1)))
}
// DOES NOT WORK:
def photo = Action {
val p = PhotoFetcher.fetchRandomDisplayPhoto(someParametersBlah))
Ok(views.html.photo(p))
}
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,test
DBAction 可以正常工作,并且能够从数据库中获取照片.不幸的是,photo
行动不起作用.
我PhotoFetcher.fetchRandomDisplayPhoto(blah)
做了很多不同的事情.埋在里面的是一个调用Cameras.findById(blah)
,它应该返回一个Camera
对象(在test
DBAction中工作).但是,使用此配置,我收到以下错误:
could not find implicit value for parameter s: slick.driver.MySQLDriver.simple.Session
Run Code Online (Sandbox Code Playgroud)
我已经尝试将photo
Action转换为DBAction,如下所示: …