我正在阅读 Grails:快速入门指南这本书并遇到了问题。这本书让我安装了Blurb插件,这似乎有效,但声明我们将使用它,好像它是一个域类并使用它预先存在的控制器。我要添加到控制器的代码如下所示
def blurb = Blurb.findByName("custom_${event.id}" )
if (!blurb){
blurb = new Blurb(name:"custom_${event.id}" , content:"" ).save()
}
当我这样做时,我在IDE和运行输出中收到相同的错误
'无法解决类Blurb ',我专门针对此行blurb = new Blurb(name:"custom_${event.id}" , content:"" ).save()
谁能告诉我可能出现的问题?我假设插件已正确安装,因为如果我尝试直接访问它的控制器/操作' http://localhost:8080/TekDays/blurb/create ',插件提供的视图会正确呈现。
谢谢!
- 作为参考,我使用的是STS / Grails 1.3.7
更新2011.05.12 7:45 AM CST
我附上了一个屏幕截图,显示了我的项目来自STS界面,以显示我的项目是如何布局的,因为它与Burt指示的包相关。但问题是我不确定如何对import语句进行操作,因此屏幕截图可能有所帮助。
以下是仪表板控制器中的当前代码。
package tekdays
class DashboardController {
...
}
我已按照Burt的建议尝试添加以下几行,但我显然没有正确
package tekdays
package my.package <--unexpected token: package
class DashboardController {
我尝试用tekdays和默认更改我的两个结果。
我做错了吗?
谢谢!
答案 0 :(得分:0)
Blurb类在默认包中,因此如果你的控制器在一个包中,你需要使用Groovy技巧来访问它:
package my.package
import Blurb as Blurb
class MyController {
def action = {
def blurb = Blurb.findByName("custom_${event.id}" )
if (!blurb) {
blurb = new Blurb(name:"custom_${event.id}" , content:"" ).save()
}
}
}