1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Ruby on RailsのMVCとルーティング

Ruby on Rails(以下、Rails)は、MVC(Model-View-Controller)アーキテクチャを採用しているフレームワークです。このアーキテクチャは、アプリケーションのコードを整理し、保守性を向上させるのに役立ちます。この記事では、RailsのMVCとルーティングについて詳しく説明します。

MVCアーキテクチャ

1. Model(モデル)

  • データとデータベースの操作を担当します。
  • ビジネスロジックを定義し、データのバリデーションを管理します。
  • ActiveRecordと組み合わせてデータベースと対話します。

2. View(ビュー)

  • ユーザーに表示される部分を担当します。
  • HTMLやテンプレートで表現され、データの表示を制御します。
  • ユーザーに情報を提供し、ユーザーインターフェースを構築します。

3. Controller(コントローラ)

  • ユーザーからのリクエストを受け取り、ModelとViewを制御します。
  • ルーティングに基づいて適切なアクションを呼び出し、データの操作やビューの表示を調整します。
  • ユーザーとアプリケーションの仲介役です。

MVCの強力な部分は、これらのコンポーネント間の疎結合です。それぞれが異なる責務を持ち、変更が簡単に行えるため、アプリケーションの保守性と拡張性が向上します。

ルーティング

Railsのルーティングは、URLとコントローラーアクションのマッピングを管理します。これにより、リクエストがどのコントローラーアクションにルーティングされるかが決まります。以下に、Railsのルーティングの要点を示します。

ルーティングの設定

ルーティングは通常、config/routes.rbファイルで設定されます。例えば、GET /articlesのリクエストをarticles#indexアクションにルーティングする場合、以下のように記述します:

get '/articles', to: 'articles#index'

これにより、/articlesへのGETリクエストがArticlesControllerindexアクションにマッピングされます。

パスヘルパー

ルーティングはパスヘルパーを提供します。これらのヘルパー関数は、ビュー内で使うことでURLを簡単に生成できます。例えば、articles_pathを呼び出すと、/articlesのURLが生成されます。

# ビュー内での使用
<%= link_to 'All Articles', articles_path %>

ルート

Railsではルートも定義できます。これは、アプリケーションのトップページを指します。以下は、rootを設定する例です:

root 'welcome#index'

この設定により、アプリケーションのトップページがWelcomeControllerindexアクションにルーティングされます。

ルーティングのネスト

Railsではルーティングをネストすることができます。これは、リソース間の親子関係を表現するのに役立ちます。例えば、記事とコメントがあり、記事に対するコメントをネストする場合、次のように設定します:

resources :articles do
  resources :comments
end

この設定により、/articles/1/comments/2のようなURLでコメントにアクセスできます。

まとめ

Ruby on RailsのMVCアーキテクチャとルーティングは、アプリケーションの設計とURLマッピングを効果的に管理するための強力なツールです。MVCはコードを整理し、ルーティングはリク

エストを適切なコントローラーアクションに導きます。ルート、パスヘルパー、ネストなどの機能を駆使して、柔軟で強力なWebアプリケーションを構築しましょう。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?