我在命名空间和子域约束内有相同的路由。
第一个用于生产,第二个用于开发。如何删除这个重复项?
constraints :subdomain => 'api' do
scope :module => "api" do
resources :users
resources :orders
end
end
namespace :api do
resources :users
resources :orders
end
最佳答案
好吧,do ... end
创建了一个 block 。如果您有一个重复的 block ,您可以通过将其转换为 Proc 并将其传递给 Proc.new
或 proc
(后者只是前者的快捷方式):
res = Proc.new do
resources :users
resources :orders
end
然后,您可以将 Proc (res
) 作为 block 参数传递给任何需要 block 的方法,方法是在其前面添加 &
:
constraints :subdomain => 'api' do
scope :module => 'api', &res
end
namespace :api, &res
Here's a great article关于在 Ruby 中使用 block 、过程和 lambda。
关于ruby-on-rails - 如何删除嵌套在不同范围内的重复路由?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9306524/