场景是这样的:
我的网站上有一些用户。一个用户有一个角色,这里的相关角色是admin
and normal
。我也有一个模型,我们称之为SomeModel
。
我为该站点创建了一个后端,它使用管理布局。所有管理员都拥有编辑任何内容的完全权限。
这种关系出现了问题:User -> owns -> SomeModel。这意味着非管理员 用户可以拥有一个实例SomeModel
并且应该能够编辑该实例的数据。
控制器SomeModel
有一个编辑操作,然后迎合管理员和普通用户。
但是,我不希望普通用户看到管理布局,现在,我这样做的方式是这样的:
if current_user.admin?
render :layout => 'admin'
end
如果用户不是管理员,则默认为标准布局。我在我所有的行动中都有这一点,SomeModel
而且它看起来不像是一种非常 Rails 的做事方式。
有没有更好的办法?