2012-07-24 39 views
0

我是新來的play,scala和akka,在使用sbt構建它並通過在web瀏覽器中加載本地主機來編譯它時出現錯誤。我得到的瀏覽器內錯誤是:路由出錯

編譯錯誤 對路由的引用不明確;它是在同一範圍內的進口controllers._和進口models._

In /Users/Louis/Documents/play_actors/app/views/form.scala.html at line 9. 
[email protected](Html("Calculate Pi")) { 
6  
7 <h2>Calculate Pi</h2> 
8  
9 @helper.form(action = routes.Pi.submit) { 
10   
11  <fieldset> 
12   <legend>Pi Options</legend> 

進口兩次我不知道爲什麼我得到這個錯誤。我從Activity.scala調用html文件:

package controllers 

import play.api._ 
import play.api.mvc._ 

import views._ 

object Application extends Controller { 

    def index = Action { 
     Ok(html.form(Pi.optionsForm)) 
    } 

} 

在此先感謝。

回答

1

Play會根據您的routes文件和您的模板生成多個Scala文件,其中包括一些文件。如果您在嘗試編譯應用程序後查看target/scala.2.9.1/src_managed目錄,則應該找到一個包含模板的Scala版本的views.html程序包和包含您的routes的Scala表示的控制器程序包。

除了一些Play自己的軟件包,Play模板還會自動導入控制器和模型軟件包中的所有內容。這包括從您的路線文件生成的路線類,它允許您以您展示的方式引用它們。

我假設您的模型包中必須有一些對象或類共享名稱路由,並因此創建編譯器無法解決的衝突。

+0

謝謝!!!!! 1我能夠通過將所有模型移動到我的控制器包中,導航到我生成並刪除該文件夾的模型文件夾來修復它。 謝謝你深入的解釋和分享你的知識。 +1。 – BRS 2012-07-25 19:16:08