ActionPackでルート極
Ruby応用とActionPackの概要
Ruby on Rails のコアコンポーネントである ActionPack は、MVC アーキテクチャの「コントローラ」と「ビュー」を統合したフレームワークです。ActionPack はリクエストを受け取り、適切なコントローラアクションへルーティングし、レスポンスを生成します。Ruby の柔軟な構文とメタプログラミングを活かし、開発者は少ないコードで高度な機能を実装できます。
RoutingとParamsの扱い
Routing は URL とコントローラアクションのマッピングを定義します。Rails では config/routes.rb に記述し、RESTful なリソース設計が推奨されます。
Params はリクエストパラメータをハッシュとして取得でき、params[:id] のようにアクセスします。セキュリティ上、Strong Parameters を使って許可された属性のみを受け取るようにしましょう。
class ArticlesController < ApplicationController
def create
@article = Article.new(article_params)
if @article.save
redirect_to @article
else
render :new
end
end
private
def article_params
params.require(:article).permit(:title, :body)
end
end
Session, Flash, Cookieの使い分け
Session はサーバー側に保持される一時的なデータで、ユーザー認証情報やショッピングカートなどに利用します。Flash は次のリクエストで一度だけ表示されるメッセージを格納し、flash[:notice] のように使用します。Cookie はクライアント側に保存され、ユーザーの設定やトラッキングに使われます。Cookie はサイズ制限があるため、必要最低限の情報のみを保存しましょう。
リクエストレスポンスサイクルとフィルタ
リクエストが来ると、Rails はまずルーティングを解決し、コントローラアクションを呼び出します。アクション実行前に before_action フィルタが走り、認証チェックやパラメータ検証を行います。アクション後は after_action が実行され、ログ記録やリソース解放を行います。
フィルタはコードの再利用性を高め、共通処理を一元管理できるため、保守性が向上します。
コメント
コメントを投稿