2011-07-06 9 views
0

私はsphinxを使い、スフィンクスを考えていて、会社、ユーザー、注文、メモ、コメントなどの基本的な注文システムを持っています。Thinking Sphinx Global Searchすべてのモデル

TSは正常に動作しており、個々のモデルを検索しており、そのネストされたリソースは素晴らしい動作をしています。

私がしたかったのは、私のヘッダー(application.html.erb)にグローバルな検索フォームがあります。問題は私のフォームがどこに投稿されるかです。

<%= form_tag companies_path, :method => 'get', :id => "companies_search" do %> 
    <p> 
    <%= text_field_tag :search, params[:search] %> 
    <%= submit_tag "Search", :name => nil %> 
    </p> 
<% end %> 

明らかに、これは私の会社とネストされたリソースで機能します。見出しに入れれば、結果は私の会社レイアウトに返されます。

enterprises_pathの動的代替を作成することはできますか?

または、特別なレイアウトを作成する必要がありますか?

ここで他に何をしていますか?

答えて

2

私はグローバルな検索を処理するための別のアクションを作成したい - あるいは少なくとも、バック再利用可能な検索アクションに個別のルーティング、およびそのアクションを持っていることは、グローバル検索、企業検索だかどうかを検出するなど

として、ヘッダーのために - あなたはいつもそれをグローバルにしたいですか?これは簡単です。フォームのグローバル/ジェネリック検索アクションを常に使用してください。必要に応じて、モデルのコンテキストをデフォルトにして動的に実行したい場合は、 - おそらくcontent_forブロックを選択し、それぞれの関連するビューに適切な検索フォームを追加してください。

もちろん、それは面倒なので、params [:controller]を見て、現在のコンテキストが何であるかを調べるヘルパーを介してURLをカスタマイズするのとは別の方法があります。しかし、これがどれほど壊れやすいかは考えられません。

+0

回答ありがとうございます@pat。面倒なことが本当に価値があるかどうか本当に不思議に思っています。私のモデルを別々に索引付けするほうが簡単かもしれません。わからない....... –

関連する問題