rails routing - 在嵌套命名空间中找不到操作 - get as

时间:2011-12-08 20:01:23

标签: ruby-on-rails routing namespaces

以下请求应调用标记控制器的show动作。但是我得到了

http://localhost:3000/api/v0/tags/seeded

The action 'seeded' could not be found for Api::V0::TagsController

在routes.rb

  namespace :api do
    namespace :v0 do
      get "/users/:username" => 'users#show', :as => 'user'
      get '/tags/:name' => 'tags#show', :as => 'tag'

    end
  end

在app / controllers / api / v0 / tags_controller.rb

class Api::V0::TagsController < ApplicationController
  def show
    render :json => Api::V0::Serializers::Tag.new(params[:name])
  end

end

后缀为.json

的网址相同
http://localhost:3000/api/v0/tags/seeded.json

我使用Rails 3.0.11

更新

$ rake routes|grep api
                     api_v0_user GET    /api/v0/users/:username(.:format)                       {:controller=>"api/v0/users", :action=>"show"}
                      api_v0_tag GET    /api/v0/tags/:name(.:format)                            {:controller=>"api/v0/tags", :action=>"show"}

0 个答案:

没有答案