我在RAILS中有一個應用程序,它由一組API,一個基本網站和一個管理儀表板組成。 對於API路由我沒有任何問題,因爲它們屬於模型和控制器,並且符合RAILS RESTful模式(每個模型的控制器以及每種HTTP方法的方法)。網站的Rails控制器和路由配置
我不舒服的是寫網站的路線和控制器。 主站是在/所以默認路由是root :to => "home#index"
,我有 路線的網站頁面看起來像
get "home/index"
get "map/index"
get "api/index"
get "cgu/index"
get "legal/index"
這一點我覺得這是不好的,因爲我有每個視圖控制器,我需要爲每個視圖定義一個get。 現在爲儀表板我嘗試了不同的方法。 正是在/儀表板,默認路由是match "dashboard" => "dashboard#index"
這裏是幾頁的例子
get "dashboard/index"
get "dashboard/users"
get "dashboard/users_stats"
get "dashboard/routes"
get "dashboard/routes_stats"
get "dashboard/charts"
get "dashboard/financial"
所以對於儀表盤我有一個巨大的dashboard_controller,其中包含了每種儀表盤頁面def method
。 IE:
#dashboard/users
def users
@users = User.all
respond_to do |format|
format.html {render :layout => 'dashboard'}
end
end
儀表板的控制器是在/控制器,但對意見和財產我已經把它放在/文件夾/儀表板/
下面是2個問題:
- 是什麼建立家庭網站和儀表板的最佳方式?我應該在每個頁面上有一個控制器,還是在每頁有一個方法的全局控制器上? (我覺得非常方便,代碼少)。
- 我應該如何組織我的路線,以避免爲每個頁面設置「某物/某物」? 或者對於我的每個頁面都定義了一個路由,RAILS是正常的嗎?我很新。
編輯: 爲了澄清,儀表板周圍API遵循REST風格的Rails模式的現有應用程序內置:
resources :users
resources :routes
但儀表盤是不依賴於任何現有的資源,它只是做統計關於這些資源。
是的,儀表板不依賴於RESTful路由,因爲我沒有將它綁定到特定的模型。它是查詢現有的資源和模型來建立統計。 – Dimillian