【问题标题】:Error with routes路线错误
【发布时间】:2012-07-24 20:06:28
【问题描述】:

我是新手,使用 scala 和 akka,在使用 sbt 构建它并通过在 Web 浏览器中加载 localhost 来编译它时遇到错误。我得到的浏览器错误是:

编译错误 对路线的引用不明确;它被导入控制器在同一范围内导入两次。_和导入模型。_

In /Users/Louis/Documents/play_actors/app/views/form.scala.html at line 9.
5@main(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))
    }

}

提前致谢。

【问题讨论】:

    标签: model-view-controller scala playframework routes akka


    【解决方案1】:

    Play 会生成许多 Scala 文件,包括基于您的 routes 文件和模板的文件。如果您在尝试编译您的应用程序后查看target/scala.2.9.1/src_managed 目录,您应该会找到一个包含您的模板的Scala 版本的views.html 包和一个包含您的routes 的Scala 表示的控制器包。

    除了许多 Play 自己的包外,Play 模板会自动导入您的控制器和模型包中的所有内容。这包括从您的路由文件生成的路由类,它允许您以显示的方式引用它们。

    我假设您的模型包中必须有一些对象或类共享名称路由,因此会产生编译器无法解决的冲突。

    【讨论】:

    • 谢谢!!!!!1 我能够通过将所有模型移动到我的控制器包中来修复它,导航到 Play 生成的模型文件夹并删除该文件夹。感谢您的深入解释和分享您的知识。 +1。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-18
    • 2017-06-06
    • 2018-10-23
    • 1970-01-01
    • 1970-01-01
    • 2014-02-27
    • 1970-01-01
    相关资源
    最近更新 更多