rails-action-controller-patterns

Apply standard Action Controller patterns for routing, filters, and strong parameters.

187|20|Updated Nov 20, 2025
One-click install
npx skills add https://github.com/TheBushidoCollective/han --skill rails-action-controller-patterns
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: rails-action-controller-patterns
Source: https://github.com/TheBushidoCollective/han/tree/main/jutsu/jutsu-rails/skills/rails-action-controller-patterns
Command: npx skills add https://github.com/TheBushidoCollective/han --skill rails-action-controller-patterns

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill provides action controller patterns for routing, filters, strong parameters, and REST conventions in Rails.

Core Features & Use Cases

  • Basic Controller Structure: RESTful actions with before_action filters.
  • Strong Parameters: Safe parameter handling and nested attributes.
  • Filters & Callbacks: Lifecycle hooks for authentication and authorization.

Quick Start

Generate a Posts controller and implement index/show with strong parameters.

Frequently Asked Questions about rails-action-controller-patterns

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I structure a Rails controller with strong parameters and REST conventions?

Strong parameters in Rails controllers filter and whitelist incoming request data before passing it to models. Use `permit` to define allowed attributes in nested hashes, protecting against mass assignment vulnerabilities while maintaining RESTful action patterns like index, show, create, update, and destroy.

What are before_action filters and how do I use them for authentication in Rails?

Before_action filters are lifecycle callbacks that run before controller actions execute. Use them to authenticate users, authorize resource access, or set up shared data—for example, `before_action :authenticate_user` runs on every action unless skipped, centralizing security logic across your controller.

How do I handle routing and namespaced controllers in Rails?

Routing in Rails maps HTTP requests to controller actions; namespaced controllers organize related resources under a module path. Define routes in `config/routes.rb` with `namespace :admin` to group admin controllers, reducing naming conflicts and structuring large apps logically.

What's the difference between standard Rails controllers and API-only controllers?

API-only controllers skip view rendering and session handling, responding with JSON instead. Rails generates these with `--api` flag, removing unnecessary middleware and focus on data serialization, making them ideal for headless or microservice architectures.

How do I implement authorization and time-zone management in Rails controllers?

Authorization checks who can perform an action on a resource using filters or gems like Pundit. Time-zone management leverages Rails' `Time.zone` and controller-level configuration to ensure consistent timestamp handling across user sessions and background jobs.

Why should I use controller filters instead of putting logic in every action?

Filters centralize repeated logic—authentication, logging, parameter validation—reducing duplication and maintenance burden. They execute consistently across actions, making your controller code cleaner and security policies easier to audit and modify.