2015-11-18 6 views
6

Sto seguendo un tutorial del Quadro gioco ma ho verificato in un problema, ho scrivere questo oggetto:tipo "" non è un membro di controllori pacchetto giocare quadro

package controllers 

import play.api.mvc._ 

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

e quindi aggiungere i percorsi :

GET  /tickets/available/   controllers.Tickets.ticketsAvailable 

ma quando compilo ricevo questo errore:

di tipo I biglietti non è un membro di controllori dei pacchetti, qualcuno mi può aiutare con un esempio di come posso risolvere questo problema?

Grazie

risposta

13

Cambia la tua object a un class, vale a dire.

class Tickets extends Controller { 

E naturalmente Tickets.scala deve essere confezionato sotto app/controllers.

+0

Ciao Nio. La tua risposta ha qualche mese ma risolve anche il mio problema. Puoi spiegarmi perché modificare l'oggetto in classe risolve questo particolare problema? – ohe

+1

ohe, dal momento che la versione 2.4 Play (predefinita) adotta l'uso di Dependency Injection (Google Guice) in modo predefinito per rimuovere lo stato globale dal framework. [Leggi questo nei documenti] (https://www.playframework.com/documentation/2.4.x/Migration24#Dependency-Injection) - spiega le cose in modo un po 'più chiaro. – Nio

+0

Grazie per il link, molto chiaro! – ohe

0

Ho cambiato il mio codice da Object ApplictionController estende Controller {} a Class ApplicationController estende Controller {} e ha funzionato.