Rails禁用编辑更新删除路线

时间:2018-09-11 10:28:16

标签: ruby-on-rails routes

我正在尝试找到一种方法来禁用诸如编辑销毁和更新之类的资源路由。可以使用此答案来完成。 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条这样的路线如果必须一一更改这些方法,这将是一项艰巨的任务。有什么方法可以将这些路由归为某种方法,并拒绝所有资源路由的编辑更新和销毁。

1 个答案:

答案 0 :(得分:4)

我认为您可以像这样在corrplot(cor(df), type = "upper", tl.srt = 45) 文件中使用范围:

#install.packages("corrplot")
library("corrplot")

df = data.frame(matrix(rnorm(20), nrow=5))
df_cor <- data.frame(cor(df))
corrplot(cor(df), type = "upper", tl.srt = 45)

将返回路线:

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#destroy