# Proposed benefits: # * more verbose, but you can see more clearly all the "stuff" your method is using # * easier to re-use methods, since they're not coupled to instance var names class UsersController < ApplicationController def update load_user check_if_user_now_active end private def load_user @user = User.find(params[:user_id]) end def check_if_user_now_active flash.add(:info, "active") if @user.active? end end vs class UsersController < ApplicationController def update @user = load_user check_if_user_now_active(@user, flash) end private def load_user(params) User.find(params[:user_id]) end def check_if_user_now_active(user, flash) flash.add(:info, "active") if user.active? end end