为什么Scala IDE即使提出它也无法编译方法?

时间:2013-11-25 08:39:03

标签: scala playframework-2.0 scala-ide

我反复遇到与Scala IDE类似的问题。由于选项卡完成,Scala IDE提出了几种方法。但是,总是当我选择一种方法时,它会抱怨它无法解决它。在屏幕截图中,我从findByEan中选择方法models.Product。选择建议的方法后,我收到一条错误消息:

Multiple markers at this line
    - Line breakpoint:Products [line: 16] - show
    - value findByEan is not a member of object models.Product

choosing a method from models.Product

它抱怨.findByEan()不属于models.Product。从上面的清单中可以看出 - Product对象具有此方法。当然,几秒钟之前它甚至向我提出过​​它!

package models

case class Product(ean:Long, name:String, description:String)


object Product{

   var products = Set() // some products ...

   def find_all = products.toList.sortBy(_.ean)
   def findByEan(ean:Long) = products.find(_.ean == ean)

当我向控制器添加模板视图时会发生类似的问题。

  • 为什么Scala IDE无法编译建议的方法?

Scala IDE版本:3.0.2-vfinal-20131028-1923-Typesafe

1 个答案:

答案 0 :(得分:1)

关于无法找到details。从其完全限定名称,它似乎是一个Play模板。

Play模板由Play本身编译,它们仅在模板编辑器中输入。要使它们在完成时列出,必须编译它们(通过在Web浏览器中刷新应用程序完成),并通过Scala IDE显示(通过在IDE中刷新项目完成)。

也可以以自动完成编译+刷新的方式设置环境。这些步骤在this tutorial

中描述