什么是最好的rails方式来做到以下几点

时间:2010-12-01 22:20:59

标签: ruby-on-rails

我有一个rails 3应用程序,它将数据库中的记录显示在表格中。我想要使​​用相同的方法来检查是否使用了管理控制器,如果是,则为表项添加编辑删除选项。

示例:登录无管理服务器/ home / list_info

  • 部分信息名称地址
  • 更多信息名称地址

以Admin sever / admin / list_info

登录
  • 某些信息名称地址编辑删除
  • 更多信息名称地址编辑删除

我目前有两个控制器和两个视图方法,管理方法只是一个带有编辑删除链接的副本。 这对我来说似乎不太干。人们在这种情况下做了什么?

非常感谢 安迪

1 个答案:

答案 0 :(得分:1)

我认为最好的方法是拥有一组控制器/视图,并查看当前用户是否为管理员。如果是,请显示编辑/删除链接。

通常,您可以使用Devise进行身份验证,使用CanCan进行授权。

Devise提供了一个current_user对象,因此如果你实现admin?方法,你可以使用类似

的方法
<%= link_to_if current_user.admin?, 'Delete', ... %>

注意:以上仅使用Devise,而不是CanCan。