gpt4 book ai didi

ruby-on-rails - Rails 禁用编辑更新删除路线

转载 作者:行者123 更新时间:2023-12-02 20:16:27 25 4
gpt4 key购买 nike

我正在尝试找到一种方法来禁用资源路由,例如编辑销毁和更新。可以使用这个答案来完成。 Disable Route在这个答案中我可以放置这样的代码:

resources :books, except: [:edit, :destroy]

它会起作用,但我有一个独特的问题,我创建了许多资源路由,我的路由文件如下:

         resources :expenditure_management2s do 
collection { post :import }
collection { get :dropdown }
collection { get :test }
end
resources :expenditure_management1s do
collection { post :import }
collection { get :dropdown }
collection { get :test }
end
resources :expenditure_managements do
collection { post :import }
collection { get :dropdown }
collection { get :test }
end
......

我有近100条这样的路线,如果我必须一一改变这些方法,那将是一项艰巨的任务。有什么方法可以将这些路由分组到某种方法中,并拒绝编辑更新并销毁所有资源路由。

最佳答案

我认为您可以在 routes.rb 文件中使用范围,如下所示:

scope except: [:edit, :destroy] do
resources :users
end

将返回路线:

users     GET   /users(.:format)   users#index
POST /users(.:format) users#create
new_user GET /users/new(.:format) users#new
user GET /users/:id(.:format) users#show
PATCH /users/:id(.:format) users#update
PUT /users/:id(.:format) users#update

如您所见,缺少 users#destroyusers#edit 路由。

就您而言,它将是:

 scope except: [:edit, :destroy] do
resources :expenditure_management2s do
collection { post :import }
collection { get :dropdown }
collection { get :test }
end
resources :expenditure_management1s do
collection { post :import }
collection { get :dropdown }
collection { get :test }
end
resources :expenditure_managements do
collection { post :import }
collection { get :dropdown }
collection { get :test }
end
end

关于ruby-on-rails - Rails 禁用编辑更新删除路线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52273863/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com