没有路由匹配简单搜索表单的帖子

时间:2014-11-22 18:49:31

标签: 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 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]&#34; / home / search&#34;

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

2 个答案:

答案 0 :(得分:1)

以下列方式定义了form_tag。

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

希望你的问题得到解决!

答案 1 :(得分:0)

可能你应该在你的路线中指定控制器和动作,如下所示:

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

希望这能解决你的问题!!!

干杯!!!