在Qor admin中禁用创建按钮和更新已选项目,需要使用 setupResource
函数,并在 Update
, UpdateMany
, 和 Create
上禁用创建和更新按钮。以下是一个示例代码:
// gorm ORM定义
type Product struct {
gorm.Model
Name string
}
// 管理面板定义
type ProductResource struct {
qor.Admin
}
// 初始化资源
func (productResource *ProductResource) Setup() {
// 禁用Create和Update
productResource.Action(&admin.Action{
Name: "create",
Handle: func(_ *admin.Context) error {
return errors.New("Create action is disabled")
},
})
productResource.Action(&admin.Action{
Name: "update",
Handle: func(_ *admin.Context) error {
return errors.New("Update action is disabled")
},
})
// 定义Qor admin设置
productResource.Admin = admin.New(&qor.Config{DB: db})
// 声明Qor配置字段 [名称] [属性]
productResource.Admin.AddResource(&Product{})
}
// 启用资源
func (productResource *ProductResource) Use(mux *http.ServeMux) {
productResource.Setup()
productResource.Admin.Use(mux)
}
// 示例使用
var (
db = // Gorm DB 连接
productResource = &ProductResource{}
)
func main() {
mux := http.NewServeMux()
productResource.Use(mux)
http.ListenAndServe(":3000", mux)
}
在此示例中,我们在 Setup
函数中禁用了 Create
和 Update
操作。通过以下代码启用资源:
var (
db = // Gorm DB 连接
productResource = &ProductResource{}
)
func main() {
mux := http.NewServeMux()
productResource.Use(mux)
http.ListenAndServe(":3000", mux)
}
这样,在Qor admin中,您将看不到 Create
和 Update
操作按钮。