RAILS にアプリケーションがあります。これは、一連の API、基本的な Web サイト、および管理ダッシュボードで構成されています。API ルーティングについては、モデルとコントローラーに属し、RAILS RESTful パターン (モデルごとにコントローラー、HTTP メソッドごとにメソッド) に準拠しているため、問題はありません。
私が慣れていないのは、Web サイトのルートとコントローラーを作成することです。メインのウェブサイトは / にあるので、デフォルトのルートはroot :to => "home#index"
で、次のようなウェブサイト ページのルートがあります。
get "home/index"
get "map/index"
get "api/index"
get "cgu/index"
get "legal/index"
ビューごとにコントローラーがあり、ビューごとに get を定義する必要があるため、これは良くないと思います。ダッシュボードについては、別のアプローチを試しました。/dashboard にあります。デフォルトのルートは次のとおりです 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"
def method
そのため、ダッシュボードには、各ダッシュボード ページ用の を含む大規模な dashboard_controller があります。いいえ:
#dashboard/users
def users
@users = User.all
respond_to do |format|
format.html {render :layout => 'dashboard'}
end
end
ダッシュボードのコントローラは /controller にありますが、ビューとアセットについては /folder/dashboard/ に配置しました
ここに2つの質問があります:
- ホーム Web サイトとダッシュボードを構築する最良の方法は何ですか? ページごとにコントローラーを配置するか、ページごとにメソッドを配置するグローバルコントローラーを配置する必要がありますか? (これは非常に便利で、コードが少ないと思います)。
- ページごとに get "something/something" を設定しないようにルートを整理するにはどうすればよいですか? それとも、ページごとに定義されたルートがあるのは RAILS では正常ですか? 私はかなり新しいです。
編集: 明確にするために、ダッシュボードは RESTFul Rails パターンに従う API を備えた既存のアプリケーションを中心に構築されています。
resources :users
resources :routes
ただし、ダッシュボードは既存のリソースに関連付けられておらず、それらのリソースに関する統計のみを行います。