2017-08-09 71 views
0

我有一个Play2框架应用程序,并且在IntelliJ Idea中做了一个完全缓存失效并重新启动后出现问题重新编译。我得到的错误是:Scala模板与Play框架中找不到的类

[warn] Class models.AgeGroup not found - continuing with a stub. 
[error] /Users/xxx/app/views/registrations/selectPrinterView.scala.html:13: not found: value AgeGroup 
[error]    @for((k, v) <- AgeGroup.optionsForGroups()) { 
[error]       ^
[error] /Users/xxx/app/views/registrations/selectPrinterView.scala.html:14: overloaded method value apply with alternatives: 
[error] (keys: Seq[String],args: Any*)(implicit messages: play.api.i18n.Messages)String <and> 
[error] (key: String,args: Any*)(implicit messages: play.api.i18n.Messages)String 
[error] cannot be applied to (Any) 
[error]     <option value="@k">@Messages(v)</option> 
[error] 

我想我有过,但不记得如何解决它。关于@Messages的第二个错误可能是相关的,并给出一个后验。

这是我的模板代码:

<select name="ageGroup"> 
    @for((k, v) <- AgeGroup.optionsForGroups()) { 
     <option value="@k">@Messages(v)</option> 
    } 
    </select> 

我使用一个类AgeGroup下应用程序/模型/ AgeGroup:

package models; 

import play.i18n.Messages; 

import java.util.LinkedHashMap; 
import java.util.Map; 

/** 
* Created on 25/11/2015. 
*/ 
public enum AgeGroup { 
    U18, 
    O18, 
    BOTH, 
    SPECIAL; 

    public static Map<String, String> optionsForGroups() { 
     LinkedHashMap<String, String> vals = new LinkedHashMap<>(); 
     vals.put(U18.name(), Messages.get(U18.name())); 
     vals.put(O18.name(), Messages.get(O18.name())); 
     vals.put(BOTH.name(), Messages.get(BOTH.name())); 
     return vals; 
    } 

    public static Map<String, String> optionsForRooms() { 
     LinkedHashMap<String, String> vals = new LinkedHashMap<>(); 
     vals.put(U18.name(), Messages.get(U18.name())); 
     vals.put(O18.name(), Messages.get(O18.name())); 
     vals.put(SPECIAL.name(), Messages.get(SPECIAL.name())); 
     return vals; 
    } 
} 

这为我工作了两年,但现在它停止工作,并且我花了两个小时,并且不知道为什么(并且没有对代码本身进行任何更改)。所以,任何帮助真的很感激。

+0

需要在模板中导入model.AgeGroup – cchantep

+0

我现在得到'对象AgeGroup不是包模型的成员'。我不明白为什么在它一直工作后它不起作用。就像它不包含在构建中一样 –

回答

1

我使用命令行'Activator',并在那里运行一个清理并编译。由于某种原因,现在它似乎再次同时在activator和IDEA中工作。