2012-03-29 21 views
0

シリアライズ可能なドメインで検索可能なプラグインを使用したいと思います。シリアライズ可能なドメインで検索可能なプラグインを使用したい

今の問題は、私はこのコードを追加する場合、それはコンパイルdoesntのことです:

クラスの製品はSerializable {

静的トランジェント= [ '検索可能な']

真=検索可能な静的

を実装

この検索プラグインの仕組みを知りません.. また、私はhasManyとbも持っていますドメイン製品の関係 その他にも、シリアライズドメイン

あるので、CUD誰が私にあなたがそこにトランジェントの定義を必要としないすべての検索可能

答えて

0

は、まず、このドメインを作る適切な方法を教えて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の参照として限り、彼らは検索可能であるだけでなく、それらを検索に含めることができるはずです。私はまだこれを行う必要はありませんでしたので、私は詳細について肯定的ではありません。

+0

しかし、私は "static searchable = true"という行を入力するとエラーが表示されます。 "[main] ERROR context.GrailsContextLoader - ブートストラップの実行中のエラー:com.infusion.util.domain.event.hibernate.InterceptableSessionFactory org.hibernate.impl.SessionFactoryImplにキャスト " – nandini

+0

マルチテナントプラグインを使用していますか? MultiTenantに関連する問題や、Falconeプラグインを含むMultiTenantからの検索可能な依存関係のヒットはいくつかあります。それは "輸液"参照の由来です。次のリンクを確認してください:http://grails.1312388.n4.nabble.com/Plugin-Incompatibility-Multi-Tenant-Searchable-td1354534.html – Kelly

+0

はい!それは同じ紛争の問題だった..道に感謝 – nandini

関連する問題