RESTfulルート


ルートは、URLとHTTPメソッドを通じて、ルートを処理するコードをどのように要求するかです.RESTful、表現状態転送、ルートは、ルートがどのように働くかを定義するより構造化された方法です.RESTfulルートは、データベース内のHTTP動詞、コントローラアクション、およびCRUD操作の間のマッピングを提供します.CRUDは、データベース操作の作成、読み取り、更新、および削除(または破壊)の頭字語を表します.コントローラのアクション、またはCRUDは、次の表に示すように、取得、ポスト、プット、削除のHTTP動詞に対応します.
動詞
パス
コントローラー
使用する
ゲット
投稿
索引
全投稿表示
ゲット
新規ポスト
新しい
新しい投稿を作成するためのHTMLフォームを返す
ポスト
投稿
創建
新しい投稿を作成
ゲット
/投稿/ID
ショー
特定のポストを表示する
ゲット
/投稿/ID/編集
編集
投稿を編集するためのHTMLフォームを返す
パッチ/プット
/投稿/ID
更新
特定のポストを更新する
削除
/投稿/ID
滅亡
特定の投稿を削除
Flatiron用のRailsプロジェクトでは、RESTfulルートに加えて、入れ子になったリソースを使用しました.リソース構文は、Railsがあなたのために7つのRESTfulルートの各々を生成させる便利な方法です.
# config/routes.rb
Rails.application.routes.draw do
  resources :posts
end
The resources: posts 我々のルートで.Rbファイルを使用すると、アプリケーションの7つのRESTfulルートが表示されます.私のアプリケーションにコメントモデルがあるとしましょう.コメントはポストに属します、そして、ポストには多くのコメントがあります.私がポストコメントを見るルートが欲しかったならば/posts/1/comments , 入れ子になったリソースを利用する必要があります.
# config/routes.rb
Rails.application.routes.draw do
  resources :posts do
    resources :comments
  end
end
我々のルートで.Rob file私たちの巣はリソースを作成し、リソースを作成します.コメントは7つのRESTfulルートを取得しますが、コメントは7ネストのRESTfulルートを取得します.
動詞
パス
コントローラー
ゲット
/投稿/PostgreSQLのID/コメント
コメントインデックス
ゲット
/post/: postsure id/comment/new
新しいコメント
ポスト
/投稿/PostgreSQLのID/コメント
さんのコメント
ゲット
/投稿/Postfix ID/コメント/ID
コメントします
ゲット
/投稿/Postfix ID/コメント/編集
コメントは
パッチ/プット
/投稿/Postfix ID/コメント/ID
コメント最新版
削除
/投稿/Postfix ID/コメント/ID
コメントは
ネストするリソースはかなり速いので、最高の練習は1つ以上のレベル(2リソース)以上をネストすることですネストすることができます.入れ子になったリソースは親/子の関係を持たなければなりません-- POSTは親で、コメントは子です.参考先:ルートの最後のリソースは、リクエストを処理するコントローラです./posts/:post_id/comments/new 特定のポストに属する新しいコメントを作成するための新しいアクションは、コメントコントローラで処理されます.注意すべきことは、入れ子になった子リソースはネストされたRESTfulルートである.あなたがそのようなルートを望むならば/comments/:id , /comments/new , or /comments/edit , コメントリソースをconfig/routeに含める必要があります.Robファイルはコメントの非ネストRESTfulルートを取得します.
# config/routes.rb
Rails.application.routes.draw do
  resources :posts do
    resources :comments
  end
  resources :comments
end
私のプロジェクトでは、目的地の下に旅程があったので、目的地に関するすべての旅程を破壊することができました.
# config/routes.rb
Rails.application.routes.draw do
  resources :destinations do
    resources :itineraries do
      delete: destroy_all, on: :collection
    end
  end
end
追加delete: destroy_all, on: :collection , Italariesコントローラ内のDestroyCallすべてのアクションを作成し、ユーザーに属する現在のDestinationRange IDの下にあるすべての旅程を削除できます.これは、コレクションを削除し、保存することができます役立つアクションですitineraries#destroy 単一の旅程を削除するルート.
アプリケーションのルートを確認したい場合は、サーバーを実行します/rails/info/routes または走るrails routes 現在のルートを表示するターミナルで.こちらがガイドですnested resources を参照してください.
リクエスト/応答フローはRESTfulルーティングを使用します.ユーザはルートに対してリクエストを行う.アプリケーションは、config/routeに入ります.RBはコントローラ/アクションへのルートと一致します.アクションのロジックが処理され、コントローラがモデルと対話することがあります.Railsは、与えられたデータを持つアクションに関連付けられたビューをレンダリングします.