我正在自定义 Rails 管理员:https ://github.com/sferik/rails_admin ,我需要为某些模型禁用/隐藏“添加新”选项。
任何帮助都会为我节省很多时间。提前致谢
我正在自定义 Rails 管理员:https ://github.com/sferik/rails_admin ,我需要为某些模型禁用/隐藏“添加新”选项。
任何帮助都会为我节省很多时间。提前致谢
我使用以下方法在特定模型上实现此目的。希望这会有所帮助:
config.actions do
new do
except ['Some Model']
end
end
答案在操作的配置文档中。默认情况下,所有操作都是可能的,包括new
. 要自定义可能的操作,请在config.actions
in 中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
要拥有多个模型,您必须将每个模型放在单引号中。例如,考虑以下配置:
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
模型,您可以在导航栏中看到它,对其进行编辑,然后在索引页面上添加一个新模型。用 Cancan 实现它。您可以参考上面的答案以 rails admin 方式进行操作。