2.3.11 Railsアプリケーションを持っています。全文検索を追加して、 「記事」の内容とタイトル。私はこの目的のためにThinking-sphinxを使っています。私はちょうど検索リンクをクリックすることができるようにしたい/(ホームページ上の)/ advanced_search検索フォームを提出すると、一度検索フォームが提出された別のビューsearch_results.html.erb一致のリストを表示する記事検索フォームと結果ビューをレンダリングすることができません - 既存の検索と一緒にThinking-sphinxを使用してください。
問題:実際にどのようにビューがレンダリングされるのかは分かりません。私は自分のルーティングが正しいことも確信していません。私は別のものを試しましたが、何らかの理由で私が見つけたすべての例が異なっています。
だから私は、検索フォーム/コントローラ/ articles_controller/advanced_searchあります
<% form_tag :controller => 'articles', :action => 'search', :method => 'get' do %>
<%= text_field_tag :search, params[:search], :id => 'search_field' %>
<%= submit_tag 'Search', :name => nil %>
<% end %>
をそして、私は、検索結果を表示するための第二のビューを持っている、/controllers/articles_controller/search_results.html.erb:
<% @articles.each do |article| %>
<li><%= link_to article.name, :action => 'show', :id => article.id %></li>
<li><%= article.archived? %></li>
<% end %>
私はスフィンクスのインデックスを定義し、この私のモデル:
Articleクラス<はActiveRecord ::ベース validates_presence_of:ここ 検証の#restや団体名
define_index行う インデックス概要 インデックス:名前 エンド エンド
この私のコントローラと、新しい検索アクション/コントローラ/ articles_controller:
class ArticlesController < ApplicationController
load_and_authorize_resource
def index @articles = Article.all
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @articles }
format.json { render :json => @articles }
end
端
DEF検索 @articles = Article.searchのparams [:検索]
respond_to do |format|
format.html #
format.xml { render :xml => @articles }
format.json { render :json => @articles }
end
端 端私のルートで
.rb私はこの行を持っていますが、それは正しいとは言えませんが、取り出してみると、ルーティングエラー 'No route matches/advance_search'が{方法=>取得}
map.connect 'advance_search', :controller => "articles, :action => search
私は他のすべてが正しいと仮定して、私の見解は正しくレンダリングされているように方法上の任意のアイデアをいただければ幸いです。