маршрут к вложенному пространству имен идет на неправильный контроллер

Используя Rails 3.0.7, я создаю API для нашего приложения, и у меня есть такая настройка:

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>

И тогда у меня есть мой регулярныйapp/controllers/application_controller.rb а такжеapp/controllers/users_controller.rb файлы, а также мойapp/controllers/api/v1/application_controller.rb а такжеapp/controllers/api/v1/users_controller.rb файлы, которые определены следующим образом:

<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>

И раньше казалось, что все работает правильно, пока я не переопределил метод, который используется как UsersController, так и Api :: V1 :: UsersController - и теперь кажется, что все указывает на UsersController, хотя я и получаю доступ через api / v1 / маршрут пользователей.

Я в своем уме, пытаясь понять это. Какие-либо предложения? Благодарю. PS - не стесняйтесь комментировать любые условные обозначения, которые я игнорирую, что я не должен быть, или другие вещи, которые я мог испортить :)

Ответы на вопрос(2)

Ваш ответ на вопрос