2013-11-25 2 views
2

Scala IDE에서 이와 유사한 문제가 반복적으로 발생합니다. 탭 완성 덕분에 Scala IDE는 여러 가지 방법을 제안합니다. 그러나 항상 방법을 선택하면 문제를 해결할 수 없다는 불만이 제기됩니다. 스크린 샷에서 findByEanmodels.Product에서 선택합니다.스칼라 IDE가 제안한 방법을 사용해도 왜 컴파일 할 수 없습니까?

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) 

컨트롤러에 템플릿보기를 추가하면 비슷한 문제가 발생합니다.

  • 왜 스칼라 IDE가 제안 된 방법을 컴파일 할 수 없습니까?

스칼라 IDE 버전 : details을 찾을 수 없다는 3.0.2-vfinal-20131028-1923-형태 보증

+1

소스 코드를 사용하여 재현 할 수 없습니다 (Product.scala 파일 맨 위에서'패키지 모델 '을 이동해야합니다. 그렇지 않으면 해당 파일에서 오류가 발생합니다). 내가 할 수있는 다른 것이 있습니까? –

+0

죄송합니다 - 그 stackoverflow 코드를 복사 할 때 일어난. – Jon

+0

이제 Scala IDE를 여러 번 다시 시작했습니다. 위의 오류는 사라졌지만 이제는 Ok (views.html.products.details (product))에서 'details'를 찾을 수 없습니다. – Jon

답변

1

. 그것의 완전한 이름에서, 그것은 놀이 템플렛 인 것처럼 보인다.

Play 템플릿은 Play 자체에서 컴파일되며 템플릿 편집기에서만 입력됩니다. 목록 작성을 완료하기 위해서는 웹 브라우저에서 응용 프로그램을 새로 고침하여 컴파일해야하고 Scala IDE에서 볼 수 있어야합니다 (IDE에서 프로젝트 새로 고침).

컴파일 + 새로 고침이 자동으로 수행되는 방식으로 환경을 설정할 수도 있습니다. 단계는 this tutorial에 설명되어 있습니다.

관련 문제