2014-11-22 33 views
1

上市型號代碼沒有路由匹配張貼簡單的搜索

def self.search(search) 
    search_condition = "%" + search + "%" 
    find(:all, :conditions => ['franchisename LIKE ? or longdescription LIKE ?', search_condition, search_condition]) 
end 

首頁控制器

def search 
    @results = Listing.search params[:search] 
    end 

路線

get 'home/search' 

首頁/ index.html.erb搜索表單

<%= form_tag :controller => 'home', :action => 'search', :method => 'get' do %> 
    <%= text_field_tag :search, params[:search], :id => 'indexsearch' %> 
    <%= submit_tag "Search", :name => nil %> 
<% end %> 

首頁/ search.html.erb搜索結果

<%= @results.each do |result| %> 
<%= result.franchisename %> 
<%= result.shortdescription %> 
<% end %> 

錯誤:沒有路由匹配[POST]「/首頁/搜索」

我只是想它,這樣我可以在我的鍵入的搜索查詢在主頁上,然後在提交後重定向到包含結果的結果頁面。我最初遵循了一個指南,但也許它已經過時了,儘管它沒有說。希望得到一些幫助!

回答

1

剛纔以如下方式定義了form_tag。

<%= form_tag url_for(:controller => 'home', :action => 'search'), :method => 'get' do %> 

希望你的問題得到解決!

0

也許你應該像下面到您指定的路線控制器和行動:

get 'home/search' => 'home#search' 

希望這會解決您的問題!

乾杯!