RESTful ルーティングは、Web アプリケーションでの CRUD (作成、読み取り、更新、削除) 操作の実装を簡素化する Ruby on Rails の基本概念です。この記事では、Rails での RESTful ルーティングを理解してプロジェクトに効果的に実装するのに役立つ実用的なコード例を使用して詳しく説明します。
Rails での RESTful ルーティングを理解する
RESTful ルーティングは、Web アプリケーションがさまざまな種類のリクエストを処理するための一連の規則に従う必要があるという考えに基づいています。これらの規則により、HTTP 動詞 (GET、POST、PUT、DELETE) がコントローラーのアクションにマップされ、アプリケーションの動作がより予測可能で一貫性のあるものになります。
1. リソースの作成
まずは簡単なリソース、たとえば「記事」を作成しましょう。
#端子
レールは足場を生成します 記事のタイトル:文字列 本文:テキスト
このコマンドは、CRUD 操作用のコントローラー (ArticlesController) とビューを含む新しいリソースを生成します。
2. アクションのインデックス付けと表示
Index アクションはすべての記事をリストし、show アクションは特定の記事を表示します。
# アプリ/コントローラー/articles_controller.rb
クラス ArticlesController < ApplicationController
デフォルトインデックス @articles = Article.all
終わり
デフショー
@article = Article.find(params[:id])
終わり
終わり
3. アクションの新規作成と作成
new アクションは新しい記事を作成するためのフォームを表示し、create アクションはフォームの送信を処理してデータベースに新しいレコードを作成します。
# アプリ/コントローラー/articles_controller.rb
クラス ArticlesController < ApplicationController
# …
確かに新しい
@article = Article.new
終わり
デフォルト作成
@article = Article.new(article_params)
@article.save の場合
@article へリダイレクト
それ以外
「新規」をレンダリングする
終わり
終わり
プライベート
デフォルトのarticle_params
params.require(:article).permit(:title, :body)
終わり
終わり
4. アクションの編集と更新
edit アクションは既存の記事を更新するためのフォームを表示し、update アクションはフォームの送信を処理して記事レコードを更新します。
# アプリ/コントローラー/articles_controller.rb
クラス ArticlesController < ApplicationController
# …
デフォルト編集
@article = Article.find(params[:id])
終わり
デフォルトのアップデート
@article = Article.find(params[:id])
if @article.update(article_params)
@article へリダイレクト
それ以外
レンダリング「編集」
終わり
終わり
# …
終わり
5. デストロイアクション
破棄アクションはデータベースから記事を削除します。
# アプリ/コントローラー/articles_controller.rb
クラス ArticlesController < ApplicationController
# …
間違いなく破壊する
@article = Article.find(params[:id])
@article.destroy
リダイレクト_記事_パスへ
終わり
終わり
6. ルート設定
config/routes.rb ファイル内で、Rails はリソースの RESTful ルートを自動的に生成します。
# config/routes.rb
Rails.application.routes.draw は実行します
リソース:記事
# …
終わり
これらのルートにより、Rails アプリケーションは記事に対するすべての標準 CRUD 操作をサポートするようになります。
結論
Rails の RESTful ルーティングは、Web アプリケーションで CRUD 操作を処理するための構造化された効率的な方法を提供します。これらの規則に従い、この記事で提供されているようなコード例を使用すると、強力で保守しやすいコードを迅速に作成できます。 Ruby on Rails を使用した Web アプリケーション.