我有一个rails 3应用程序,它将数据库中的记录显示在表格中。我想要使用相同的方法来检查是否使用了管理控制器,如果是,则为表项添加编辑删除选项。
示例:登录无管理服务器/ home / list_info
以Admin sever / admin / list_info
登录我目前有两个控制器和两个视图方法,管理方法只是一个带有编辑删除链接的副本。 这对我来说似乎不太干。人们在这种情况下做了什么?
非常感谢 安迪
答案 0 :(得分:1)
我认为最好的方法是拥有一组控制器/视图,并查看当前用户是否为管理员。如果是,请显示编辑/删除链接。
通常,您可以使用Devise进行身份验证,使用CanCan进行授权。
Devise提供了一个current_user对象,因此如果你实现admin?
方法,你可以使用类似
<%= link_to_if current_user.admin?, 'Delete', ... %>
注意:以上仅使用Devise,而不是CanCan。