Я хочу использовать поисковый плагин в сериализуемом домене - PullRequest
0 голосов
/ 29 марта 2012

Я хочу использовать поисковый плагин в сериализуемом домене.

Теперь проблема в том, что он не компилируется, если я добавлю этот код:

Класс Product реализует Serializable {

статические переходные процессы = ['searchable']

static searchable = true

Я не знаю, как работает этот подключаемый модуль для поиска. Кроме того, у меня также есть отношения hasMany и ownTo вДоменный продукт.Другие также являются сериализуемым доменом

Так что, пожалуйста, кто-нибудь подскажет мне правильный способ сделать этот домен доступным для поиска

1 Ответ

0 голосов
/ 30 марта 2012

Прежде всего, вам не нужно определение переходных процессов там. Это все, что вам нужно для начала:

    static searchable = true

Вы можете проверить, перейдя к "http://localhost:8080/YOUR-APP-NAME-HERE/searchable". Если у вас есть какие-либо товары, вы можете найти одно из простых полей в вашем домене (например, поле String productName), просто используя этот URL.

Как только вы убедитесь, что оно работает, вы можете поместить поля поиска в свои формы и добавить несколько пользовательских методов в свой контроллер продукта для использования функции поиска:

    //search form
    <form controller="product" action="searchForProducts" >
       <g:textField name="query" />
       <input type="submit" value="search" />
    </form>

    //ProductController
    def searchForProducts = {
      if(params.query) {
        def products = Product.search(params.query).results
        return [productInstanceList: products]
      }
    }

Что касается ваших ссылок на hasMany, если они доступны для поиска, вы сможете включить их в поиск. Мне еще не приходилось это делать, поэтому я не уверен в деталях.

...