我的Rails应用/索引路径应该向登录用户显示一个页面,向管理员用户显示完全不同的页面,对于未登录的用户应该显示完全不同的页面。
所以,一个控制器(HomeController),一个动作(索引),三个视图。
我可以通过两种方式实现这一点:
if
条款插入views/home/index.html.erb
,使其做正确的事。我强烈认为后一种解决方案是正确的。但我不确定如何实现它,用户控制器是一个完全不同的控制器。我的家庭控制器如何找出当前用户是谁来决定要呈现的视图?
答案 0 :(得分:1)
您可以访问所有控制器中的current_user对象,以检查用户是否已登录。我们也可以通过
从current_user对象获取用户角色current_user.role_name
您可以传递此角色名称以将部分渲染为文件名(保留不同的文件)。