我正在尝试通过遵循this guide为我的Rails应用程序实现简单的搜索功能。我正在尝试允许用户按名称搜索动物。
这是我当前的代码:
controllers / animals_controller.rb
class AnimalsController < ApplicationController
def search
@animal = Animal.search(params[:search])
end
end
这是我的 views / animals / index.html.erb
<%= form_tag :controller => 'animals', :action => 'search', :method => 'get' do %>
<%= text_field_tag :search, params[:search], :id => 'search_field' %>
<%= submit_tag "Search", :name => nil %>
<% end %>
这是我不断收到的错误:
没有路线匹配{:action =>“搜索”,:controller =>“动物”, :method =>“获取”}
我不明白为什么这不起作用。我在animal_controller.rb中定义了搜索功能。谁能指出为什么搜索功能可能无法正常工作?
答案 0 :(得分:1)
根据您遵循的指南,从未提到创建GET /search
路线。您可以在config/route.rb
中定义路线
resources :animals do
get :search
end
或
get search: "animals#search"