没有路由匹配张贴简单的搜索

问题描述:

上市型号代码没有路由匹配张贴简单的搜索

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]“/首页/搜索”

我只是想它,这样我可以在我的键入的搜索查询在主页上,然后在提交后重定向到包含结果的结果页面。我最初遵循了一个指南,但也许它已经过时了,尽管它没有说。希望得到一些帮助!

刚才以如下方式定义了form_tag。

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

希望你的问题得到解决!

也许你应该像下面到您指定的路线控制器和行动:

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

希望这会解决您的问题!

干杯!