0

我的路线:

namespace :admin do
  resources :plans
end
resources :plans

给我以下路径:

localhost:3000/admin/posts
localhost:3000/posts

在我看来,我想要类似的东西:

- if request.path.admin?
- if current_namespace.admin?
  puts "Admin"
- else
  puts "User"

=> 如何验证电流route namespace是否为/admin

4

2 回答 2

1

您应该能够向命名空间添加其他参数,例如:

namespace :admin, admin: true do
  # ...
end

然后在其中你会得到params[:admin]存在true

这可能需要defaults: { admin: true }工作,从文档中不清楚。

于 2020-11-25T09:57:12.737 回答
1

admin 命名空间中的每个资源都以“/admin”开头。所以你可以在你的视图中写

if request.path.starts_with?('/admin')
  puts 'admin'
else
  puts 'user'
end
于 2020-11-25T10:24:09.330 回答