我正在使用带有rails_admin的Rails服务器
我想向我的include_models添加一个表,但是我不想让对其中一个/几个模型的写访问权:
我的管理员看起来像这样:
# frozen_string_literal: true
RailsAdmin.config do |config|
### Popular gems integration
# == Devise ==
config.authenticate_with do
warden.authenticate! scope: :user
end
config.actions do
dashboard # mandatory
index # mandatory
new
export
bulk_delete
show
edit
delete
show_in_app
end
config.included_models = %w[ MyModel1
MyModel2]
end
我想添加类似内容
config.read_only_models = %w[MyModel3, MyModel4]
有任何建议吗?
这可以通过为模型添加readonly?
方法来实现。如果将值设置为true
,则尝试更新记录将导致错误。有关更多详细信息,请参见here。
def readonly?
true
end
ActiveRecord的基础持久性将在创建或更新任何记录之前检查readonly?
。
您当然可以添加动态内容检查,例如:
def readonly?
read_only_list.include? (self.class.name)
end