ruby on rails - rails - Rieles: el enrutamiento sin plurales da extraños ayudantes
routes ruby on rails (1)
Esto no tiene nada que ver con la pluralización. Necesitará utilizar search_qtl_table_index_path
cuando lo referencia en lugar de simplemente search_qtl_table_index
(debe agregar _path
al final).
Por lo tanto, su declaración form_tag
debería ser:
<%= form_tag search_qtl_table_index_path, :method => ''get'' do %>
Estoy recibiendo ayudantes con nombre extraños con esta configuración:
En config / routes.rb tengo:
Qtl::Application.routes.draw do
resources :qtl_table do
collection do
get ''search''
end
end
...
end
rake routes produce esto:
search_qtl_table_index GET /qtl_table/search(.:format) {:action=>"search", :controller=>"qtl_table"}
qtl_table_index GET /qtl_table(.:format) {:action=>"index", :controller=>"qtl_table"}
POST /qtl_table(.:format) {:action=>"create", :controller=>"qtl_table"}
new_qtl_table GET /qtl_table/new(.:format) {:action=>"new", :controller=>"qtl_table"}
edit_qtl_table GET /qtl_table/:id/edit(.:format) {:action=>"edit", :controller=>"qtl_table"}
qtl_table GET /qtl_table/:id(.:format) {:action=>"show", :controller=>"qtl_table"}
PUT /qtl_table/:id(.:format) {:action=>"update", :controller=>"qtl_table"}
DELETE /qtl_table/:id(.:format) {:action=>"destroy", :controller=>"qtl_table"}
y tengo plurales desactivados:
ActiveRecord::Base.pluralize_table_names = false
pero obtengo este error:
undefined local variable or method `search_qtl_table_index'' for #<#<Class:0x8056a3fa8>:0x8056a2338>
Esto está relacionado con esta pregunta que eliminaré pronto: Rails: enrutamiento y ayudantes de ruta