14

我正在自定义 Rails 管理员:https ://github.com/sferik/rails_admin ,我需要为某些模型禁用/隐藏“添加新”选项。

在此处输入图像描述

任何帮助都会为我节省很多时间。提前致谢

4

4 回答 4

27

我使用以下方法在特定模型上实现此目的。希望这会有所帮助:

config.actions do
  new do
    except ['Some Model']
  end
end
于 2013-08-20T22:16:42.153 回答
3

答案在操作的配置文档中。默认情况下,所有操作都是可能的,包括new. 要自定义可能的操作,请在config.actionsin 中config/initilizers/rails_admin.rb列出您想要支持的所有操作,省略您不想支持的操作。例如,这是一个允许所有默认操作的配置块,除了new

# config/initilizers/rails_admin.rb
RailsAdmin.config do |config|
  config.actions do
    # root actions
    dashboard
    # collection actions 
    index
    # `new` is NOT allowed
    export
    history_index
    bulk_delete
    # member actions
    show
    edit
    delete
    history_show
    show_in_app
  end
end
于 2013-08-12T16:02:53.707 回答
1

要拥有多个模型,您必须将每个模型放在单引号中。例如,考虑以下配置:

config.actions do
  dashboard
  index do
    except ['Address']
  end
  new do
    except ['Address', 'Employee', 'Setting']
  end
  export
  show
  edit do
    except ['Employee']
  end
end

这意味着:

  • 地址不包含在左侧的导航栏中
  • 您不能使用“添加新”按钮添加新地址员工或设置
  • 用于编辑的员工索引视图中没有铅笔图标。
  • 如果您有一个User模型,您可以在导航栏中看到它,对其进行编辑,然后在索引页面上添加一个新模型。
  • 您可以导出每个模型,但不能批量删除它们。
于 2018-11-26T21:35:06.383 回答
-3

用 Cancan 实现它。您可以参考上面的答案以 rails admin 方式进行操作。

网址:https ://github.com/sferik/rails_admin/wiki/CanCan

于 2013-08-12T17:37:14.897 回答