在我search_field_tag SEARCH_PATH打电话时,我得到一个“无路由匹配”的错误。搜索表单位于我的标题中,这个想法仅仅是为了能够搜索事件。Rails 3的命名与路线的分段密钥“无路由匹配”搜索表单
这里是routes.rb中的路线:
match '/events/search/:query' => 'events#search', :as => "search"
下面是搜索表单的代码。
<%= form_tag search_path, :method => :get do %>
<%= text_field_tag :query, params[:query] %>
<%= submit_tag "search", :name => :nil %>
<% end %>
(如何确保当我提交此表,这将提交/事件/搜索/:查询:查询是在search_field_tag值)
这里是我的events_controller代码
def search
@search_q = params[:query]
@events = Event.search @search_q #uses thinking sphinx
respond_with @events
end
我也/views/events/search.html.erb
创建我敢肯定错误是从搜索表单,我说SEARCH_PATH行的到来。尽管如此,其他一切似乎都按照我期望的那样工作。例如,如果我访问/ events/search/someterm,它的工作方式与我预期的完全相同。这只是插入搜索表单并提交到事件#搜索的问题。任何帮助?谢谢!
耙路线会产生什么结果? – 2012-04-13 05:24:22
search /events/search/:query(.:format){:action =>“search”,:controller =>“events”} – botbot 2012-04-13 05:27:00