2012-04-05 27 views
0

我有一個2.3.11 Rails應用程序,我想添加全文搜索以便能夠搜索'文章'的內容和標題。我正在使用Thinking-sphinx來達到這個目的。我只希望能夠點擊搜索link_to'/ advanced_search'(在主頁上)並且搜索表單出現,然後一旦提交搜索表單就有另一個視圖search_results.html.erb顯示匹配列表文章(S)。我無法獲取我的搜索表單和結果視圖進行渲染 - 使用思維獅身人面像沿着現有搜索

問題:我發現我真的不明白視圖是如何渲染的。我也不確定我的路由是否正確。我嘗試過不同的事情,但由於某些原因,我發現的所有例子都有所不同。

所以我有一個搜索表單/控制器/ 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 %> 

這是我的模型,我定義索引獅身人面像:

類文章<的ActiveRecord :: Base的 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我有這條線,這可能是不正確的,但是當我把它拿出來,我得到路由錯誤'無路線匹配「/ advance_search」與{方法=>得到}

map.connect 'advance_search', :controller => "articles, :action => search 

我將不勝感激關於如何讓我的意見呈現正確,假設一切都是正確的任何想法。

回答

0

使我感到困惑的一個問題是嵌套路由是我認爲過度使用的事實。我現在找到了解決這個問題的方法。我會喜歡爲有相同問題的人留下一個直接的答案,但不幸的是,我的解決方案並沒有回答這個問題,因爲我以完全不同的方式去解決這個問題。然而,我後來注意到還有其他類似的問題實際上得到了回答。

相關問題