Say, у меня есть это в одном из контроллеров:различное поведение для того же действия контроллера в Rails
def show
case current_user.role
when 'manager'
render :text => 'Manager view!'
when 'admin'
render :text => 'Admin view!'
end
end
Дело в том, что вместо того, чтобы «оказывать», конечно же, есть куча кода и все останавливается очень быстро. Кроме того, у меня есть некоторые другие действия в моем контроллере, которые должны выполняться по-разному для каждой из ролей пользователя. Каков наилучший способ рефакторинга без необходимости писать какие-то «ifs» и «case» в теле действия? Я хотел бы иметь 2 файла - по одному для каждой из ролей пользователя; или по крайней мере два разных действия.
Не могли бы вы указать часть диспетчеризации и наследования? Как бы это выглядело в этом случае? Я не уверен. – snitko