は、まず、このドメインを作る適切な方法を教えてPLSの。これは、あなたが始めるために必要なすべてのです:
static searchable = true
あなたがに行くことによってテストすることができます "にhttp:// localhost:8080/YOUR-APP-NAME-HERE /検索可能"。実際に商品が追加されている場合は、そのURLを使用するだけで、ドメイン内の単純なフィールド(StringのproductNameフィールドなど)を検索できます。
あなたはあなたのフォームに検索フィールドを入れて、検索機能を使用するには、製品のコントローラにいくつかのカスタムメソッドを追加することができます取り組んでいることを確認したら:
//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の参照として限り、彼らは検索可能であるだけでなく、それらを検索に含めることができるはずです。私はまだこれを行う必要はありませんでしたので、私は詳細について肯定的ではありません。
しかし、私は "static searchable = true"という行を入力するとエラーが表示されます。 "[main] ERROR context.GrailsContextLoader - ブートストラップの実行中のエラー:com.infusion.util.domain.event.hibernate.InterceptableSessionFactory org.hibernate.impl.SessionFactoryImplにキャスト " – nandini
マルチテナントプラグインを使用していますか? MultiTenantに関連する問題や、Falconeプラグインを含むMultiTenantからの検索可能な依存関係のヒットはいくつかあります。それは "輸液"参照の由来です。次のリンクを確認してください:http://grails.1312388.n4.nabble.com/Plugin-Incompatibility-Multi-Tenant-Searchable-td1354534.html – Kelly
はい!それは同じ紛争の問題だった..道に感謝 – nandini