【问题标题】:what the best rails way to do the following执行以下操作的最佳 Rails 方法是什么
【发布时间】:2010-12-01 22:20:59
【问题描述】:

我有 rails 3 应用程序,可将数据库中的记录显示到表中。我希望使用相同的方法来检查是否使用了管理控制器,如果是,则将编辑删除选项添加到表项中。

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

  • 一些信息名称地址
  • 更多信息名称地址

以管理员服务器/admin/list_info 登录

  • 一些信息名称地址编辑删除
  • 更多信息名称地址编辑删除

我目前有两个控制器和两个视图方法,管理方法只是一个副本,最后带有编辑删除链接。 这对我来说似乎不是很干燥。在这种情况下人们该怎么办?

非常感谢 安迪

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

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

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

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

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

    注意:以上只使用了Devise,不是CanCan。

    【讨论】:

    • 好的,谢谢,我更喜欢生成 html 表的答案。取决于用户或管理员,在同一方法中
    • 您可以使用相同的方法根据用户或管理员生成表格:只需将上面的代码放在单元格的一个表格中(您可以将链接放在管理员视图中)跨度>
    猜你喜欢
    • 1970-01-01
    • 2012-10-02
    • 2013-02-10
    • 1970-01-01
    • 2015-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-06
    • 1970-01-01
    相关资源
    最近更新 更多