Ruby on rails 没有与简单搜索表单的post匹配的路由

Ruby on rails 没有与简单搜索表单的post匹配的路由,ruby-on-rails,Ruby On Rails,列表模型代码 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 pa

列表模型代码

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
路线

Home/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 %>
'home',:action=>'search',:method=>'get'do%>
'索引搜索'%>
零%>
Home/search.html.erb搜索结果

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

错误:没有与[POST]“/home/search”匹配的路由


我只需要它,这样我就可以在主页上键入搜索查询,然后在提交时,它会重定向到包含结果的结果页。起初我遵循了一个指南,但也许它已经过时了,尽管它没有说。谢谢你的帮助

只是用以下方式定义了form_标记

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

希望你的问题能得到解决

您可能应该在路由中指定控制器和操作,如下所示:

 get 'home/search' => 'home#search' 
希望这能解决你的问题

干杯

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