以下请求应调用标记控制器的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"}