mcpField
R
ruby-rails-application

ruby-rails-application

github.com/aj-geddes開発373657 回インストール34 週間前に更新
リポジトリ

ruby-rails-application について

Railsの規約に沿ったRuby on Railsアプリケーション構築を支援するスキルです。モデル、RESTfulコントローラー、認証、データベースクエリ、ミドルウェア、ビューを扱います。

主な機能

  1. 01Railsプロジェクト設定のガイド
  2. 02Active Recordモデルと関連付け
  3. 03RESTfulコントローラーとアクション
  4. 04認証と認可のパターン
  5. 05クエリ、マイグレーション、シリアライザー

活用シーン

  1. 01Railsウェブアプリの開始
  2. 02複雑なデータベース関係の設計
  3. 03RESTfulエンドポイントの作成
  4. 04Railsアプリへの認証追加

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill ruby-rails-application

インストール後、Claude Code で/ruby-rails-applicationを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
active-record-queries.md
authentication-with-jwt.md
controllers-with-restful-actions.md
database-migrations.md
models-with-active-record.md
rails-project-setup.md
serializers.md
scripts/
validate-schema.sh
templates/
migration-template.sql

詳細

Ruby Rails アプリケーション

目次

概要

Rails の規約に従い、適切なモデルの関連付け、RESTful コントローラー、Active Record クエリ、認証システム、ミドルウェアチェーン、ビューのレンダリングを備えた、包括的な Ruby on Rails アプリケーションを構築します。

使用する場面

  • Rails の Web アプリケーションを構築する
  • 関連付けを備えた Active Record モデルを実装する
  • RESTful コントローラーとアクションを作成する
  • 認証と認可を統合する
  • 複雑なデータベースのリレーションシップを構築する
  • Rails のミドルウェアとフィルターを実装する

クイックスタート

最小限の動作例:

rails new myapp --api --database=postgresql
cd myapp
rails db:create

リファレンスガイド

詳細な実装は references/ ディレクトリにあります:

ガイド内容
Rails プロジェクトのセットアップRails プロジェクトのセットアップ
Active Record を使ったモデルActive Record を使ったモデル
データベースのマイグレーションデータベースのマイグレーション
RESTful アクションを備えたコントローラーRESTful アクションを備えたコントローラー
JWT による認証JWT による認証
Active Record クエリActive Record クエリ
シリアライザーシリアライザー

ベストプラクティス

✅ 推奨事項
  • 設定よりも規約を優先する
  • Active Record の関連付けを活用する
  • クエリには適切なスコープを実装する
  • セキュリティ対策としてストロングパラメーターを使用する
  • ApplicationController に認証を実装する
  • 複雑なビジネスロジックにはサービスを使用する
  • 適切なエラー処理を実装する
  • スキーマの変更にはデータベースマイグレーションを使用する
  • モデルレベルですべての入力を検証する
  • before_action フィルターを適切に使用する
❌ 禁止事項
  • パラメーター化せずに生の SQL を使用する
  • コントローラーにビジネスロジックを実装する
  • 検証せずにユーザー入力を信頼する
  • コードにシークレットを保存する
  • 列を指定せずに select * を使用する
  • N+1 クエリの問題を放置する(includes/joins を使用する)
  • 各コントローラーに認証を実装する
  • グローバル変数を使用する
  • データベース制約を無視する

コメント