Это хорошая практика, чтобы скрыть экземпляр инициализацию переменной в частных методах?Скрытые переменный экземпляр в методе before_filter
К примеру, у меня есть контроллер пользователя с некоторыми действиями:
class UsersController < ApplicationController
before_filter :get_user, only: [:show, :edit, :update, :destroy]
before_filter :set_user, only: [:new, :create]
def index
@users = User.all
end
def show
end
def new
end
def edit
end
def create
if @user.save
redirect_to @user, notice: 'User was successfully created.'
else
render action: 'new'
end
end
def update
if @user.update_attributes(params[:user])
redirect_to @user, notice: 'User was successfully updated.'
else
render action: 'edit'
end
end
def destroy
@user.destroy
redirect_to users_path
end
private
def get_user
@user = User.find(params[:id])
end
def set_user
@user = User.new(params[:user])
end
end
Некоторые люди говорят, что это похоже на волшебство, но это DRY. Как вы думаете?