rota de namespace aninhada indo para o controlador errado
Usando o Rails 3.0.7, estou criando uma API para nosso aplicativo e tenho essa configuração:
routes.rb
<code> namespace :api do namespace :v1 do match "connect" => "users#login", :via => :post match "disconnect" => "users#logout", :via => :post resources :users match "users/:id/foos" => "foos#list", :via => :get match "users/:id" => "users#update", :via => :put match "foos/:id/bars" => "bars#list_by_foo", :via => :get match "foos/:id" => "foos#show", :via => :get, :constraints => { :id => /\d+/ } match "bars/:id" => "bars#show", :via => :get end end # other routes here e.g. match "users/find" => "users#find_by_name", :via => :get match "users" => "users#create", :via => :post </code>
E então eu tenho o meu regularapp/controllers/application_controller.rb
eapp/controllers/users_controller.rb
arquivos, bem como o meuapp/controllers/api/v1/application_controller.rb
eapp/controllers/api/v1/users_controller.rb
arquivos que são definidos como o seguinte:
<code>class Api::V1::ApplicationController < ApplicationController before_filter :verify_access def verify_access # some code here end end class Api::V1::UsersController < Api::V1::ApplicationController skip_before_filter, :except => [:show, :update, :delete] end </code>
E antes tudo parecia estar funcionando direito até que eu anulei um método que é compartilhado por ambos UsersController e Api :: V1 :: UsersController - e agora parece que tudo está apontando para UsersController mesmo que eu esteja acessando através da API / v1 rota de usuários.
Estou no fim da minha sagacidade tentando descobrir. Alguma sugestão? Obrigado. PS - sinta-se livre para comentar com quaisquer convenções que eu esteja ignorando que eu não deveria estar ou outras coisas que eu poderia ter errado :)