Grails Blurb插件 - 无法解决类Blurb

时间:2011-05-11 21:07:30

标签: grails grails-plugin grails-domain-class

我正在阅读 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和默认更改我的两个结果。

我做错了吗?

谢谢!

Grails ScreenShot

1 个答案:

答案 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()
      }
   }
}