Grails Blurb Plugin - Невозможно разрешить класс Blurb - PullRequest
0 голосов
/ 12 мая 2011

Я работаю над книгой 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 CST

Я прикрепил скриншот, показывающиймой проект из интерфейса STS, чтобы показать, как мой проект спланирован в том случае, если он связан с пакетом, как указал Берт.Проблема, однако, в том, что я не уверен, что делать с оператором импорта, так что, возможно, этот скриншот поможет.

Вот текущий код в Dashboard Controller.

package tekdays

class DashboardController {
...
}

Я попытался добавить следующие строки в соответствии с предложением Берта, но у меня, очевидно, не все в порядке

package tekdays
package my.package  <--unexpected token: package

class DashboardController {

Я пытался изменить мой с tekdays и default, и оба дали тот же результат.

Я делаю это неправильно?

Спасибо!

Grails ScreenShot

1 Ответ

0 голосов
/ 12 мая 2011

Класс 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()
      }
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...