2017-10-21 35 views
0

我正在構建一個Rails API only應用程序,用於使用純html/js製作的遊戲。爲了更好的結構,應該是大型Rails項目中的頁面(將添加用戶等)。上市?應用程序?我應該在根級創建一個文件夾嗎?我的頁面應該放在Rails API項目中的哪個位置?

+1

經驗法則是在'/ api'中存儲api控制器和視圖。所以,你可以存儲在'應用程序/視圖/ API的意見/ [name_of_controller]/[name_of_view] *' –

+0

如果它是一個僅API的Rails應用程序,然後我把JavaScript客戶端代碼到一個分離的存儲庫,並會部署客戶端到另一個地方。 – spickermann

回答

1

你可以做到這一點在很多方面,如果你想只提供的API。

Rails的唯一的API:Rails API only

因爲只有API可能感興趣的JWT認證:JWT Sample

路線 - 樣!

namespace :api do 
    namespace :v1, defaults: { format: :json } do 
     resources :orders, only: [:index, :show,:create] do 
      member do 
       post 'cancel' 
       post 'status' 
       post 'confirmation' 
      end 
     end 

     # Users 
     resources :users, only: [] do 
      collection do 
       post 'confirm' 
       post 'sign_in' 
       post 'sign_up' 
       post 'email_update' 
       put 'update' 
      end 
     end 
    end 
end 

#output 
... 
GET /api/v1/orders(.:format) api/v1/orders#index {:format=>:json} 
POST /api/v1/orders(.:format)     api/v1/orders#create {:format=>:json} 
GET /api/v1/orders/:id(.:format)    api/v1/orders#show {:format=>:json} 
POST /api/v1/users/confirm(.:format)   api/v1/users#confirm {:format=>:json} 
POST /api/v1/users/sign_in(.:format)   api/v1/users#sign_in {:format=>:json}  

Controlers: - 樣!

#application_controller.rb 
class ApplicationController < ActionController::API 
end 

#api/v1/app_controller.rb 
module Api 
    class V1::AppController < ApplicationController 
     ...  
    end 
end 

#api/v1/users_controller.rb 
module Api 
    class V1::UsersController < V1::AppController 
     ... 
    end 
end 
相關問題