2015-11-18 35 views
6

我正在關注的遊戲框架的教程,但我發生了問題,我有寫這個對象:型「」不包控制器中的一員發揮框架

package controllers 

import play.api.mvc._ 

object Tickets extends Controller { 
    def ticketsAvailable = Action { request => 
    val availableTickets = 1000 
    Ok(availableTickets.toString) 
    } 
} 

,然後添加路由:

GET  /tickets/available/   controllers.Tickets.ticketsAvailable 

但我編譯時收到此錯誤:

式門票是不是封裝控制器中的一員,任何人都可以幫助我的,我怎麼能解決這個問題的例子嗎?

感謝

回答

13

更改objectclass,即。

class Tickets extends Controller { 

當然Tickets.scala,並應app/controllers下包裝。

+0

Hi Nio。你的答案有幾個月,但它也解決了我的問題。你能解釋一下爲什麼修改對象到類來解決這個特殊的問題嗎? – ohe

+1

從版本2.4開始,Play(默認情況下)採用開箱即用的依賴注入(Google Guice),以便從框架中刪除全局狀態。 [閱讀文檔](https://www.playframework.com/documentation/2.4.x/Migration24#Dependency-Injection) - 它更清楚地解釋事情。 – Nio

+0

感謝您的鏈接,非常明確! – ohe

0

我改變我的代碼從對象ApplictionController擴展控制器{}到類ApplicationController擴展控制器{},它的工作。