shallow rails examples ruby-on-rails routing helpers

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