2015-02-08 52 views
0

所以我有途徑一堆,我可以像訪問本地主機通過:3000 /帖本地主機:3000 /用戶我將如何添加/ API這些路線

的config/routes.rb中看起來像這樣

resources :posts do                                                
    resources :comments, shallow: true do                                           
     delete :destroy_all, on: :collection                                           
    end                                                   
    resources :images, shallow: true                                            
    end                                                    

    resources :comments, only: [:new]                                            
    resources :users                                                 

    root 'welcome#index' 

如何修改它,所以我也有正常的訪問,也對他們的API訪問權限,如 http://localhost:3000/api/posts http://localhost:3000/api/users/new和這樣

回答

1

如果您正在構建的API,你應該考慮的版本,從而分離你的JS從您的HTML界面開啓API;這意味着將您的JSON API拉出到版本化API命名空間中存在的單獨控制器中。

namespace :api do 
    namespace :v1 do 
    resources :posts do 
     resource :comments, shallow: true do 
     delete :destroy_all, on: collection 
     end 
    end 

    resources :comments 
    resources :users 
    end 
end 

resources :posts do 
    resource :comments, shallow: true do 
    delete :destroy_all, on: collection 
    end 
end 

resources :comments 
resources :users 

這些控制器將存在於app/controllers/api/v1。因爲你希望你的API保持一致

/api/v1/posts

版本控制你的API被認爲是很好的做法:

你的路線將現在的樣子。

有一個關於API的版本有很大RailsCast:

http://railscasts.com/episodes/350-rest-api-versioning?view=asciicast