美文网首页
2018-08-16-嵌套资源 与 命名空间

2018-08-16-嵌套资源 与 命名空间

作者: 护念 | 来源:发表于2018-08-16 08:19 被阅读0次

    嵌套资源

    定义

    嵌套资源描述的是一种关联关系。

    用法
    resources :authors do
      resources :books
    end
    
    理解

    1、内层资源url 全部位于authors/:author_id/之下
    2、内层资源helper 在原资源名前加author,如:author_books_path

    浅层嵌套

    为了避免内层资源,所有路由都寄居于外层资源之下,可以部分嵌套,也就是浅层嵌套。

    用法
    resources :authors do
      resources :books, only: [:index,:new,:create]
    end
    
    resources :books, only: [:show,:edit,:update,:delete]
    

    等价写法

    resources :authors do
      resources :books, shallow: true
    end
    

    还可在外层 批量定义

    resources :authors, shallow: true do
      resources :books
    end
    

    命名空间

    定义

    主要用于与普通路由分开,单独路径,常用于api 或 管理后台 admin

    用法
    namespace :admin do
      resources :users
    end
    
    理解

    url: 位于 /admin/
    heper: 再原资源名前加admin,如:new_admin_user_path
    PS: 它还会改变,controller 文件的目录,controllers/admin/users

    相关文章

      网友评论

          本文标题:2018-08-16-嵌套资源 与 命名空间

          本文链接:https://www.haomeiwen.com/subject/qffnbftx.html