我已经为我的应用程序(书籍类)添加了一个搜索功能,没有路线匹配{:action =>“search”,:controller =>“devise/books”}
<%= form_tag url_for(:controller => 'books', :action => 'search'), :method => 'get' do %>
<label>Search</label>
<%= text_field_tag :search, params[:search], :id => 'search_field' %>
<%= submit_tag "Search", :name => nil %>
<% end %>
我也修改了相应的routes.rb:
Rails.application.routes.draw do
devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" }
resources :users
resources :reviews
resources :books
root :to => "books#index"
match '/search', to: 'books#search', via: :get
现在,当我点击搜索按钮,我得到以下错误:
No route matches {:action=>"search", :controller=>"devise/books"}
提取的源(左右线#1):
1 <%= form_tag url_for(:controller => 'books', :action => 'search'), :method => 'get' do %>
不知道为什么Rails是寻找一个控制器称为色器件/这里的书籍。任何帮助提前感谢和感谢。
斯拉夫科
这给了相同的结果。 – user3570192