说,我在其中一个控制器中有这个:
def show
case current_user.role
when 'manager'
render :text => 'Manager view!'
when 'admin'
render :text => 'Admin view!'
end
end
问题是,当然,不是“渲染”,而是一堆代码,而且一切都停止看起来非常快。此外,我的控制器中还有一些其他操作,它们必须针对每个用户角色执行不同的操作。无需在动作主体中编写某种“ifs”和“cases”即可重构它的最佳方法是什么?我想要 2 个文件 - 每个用户角色一个;或至少两个不同的动作。