rails-controllers
Installation
SKILL.md
Rails Controller Conventions
A controller action's job: read params, call one service/query, respond. No business logic lives here.
Thin Actions — Delegate Everything
# Wrong — business logic inline
def create
@group = UserGroup.find_by(invitation_token: params[:token])
if @group && @group.users.count < @group.max_size
user = @group.users.create(nickname: params[:nickname], login_code: SecureRandom.hex(4))
redirect_to user
else
render :new, alert: "Group is full or token invalid"
end
end