rails 路由

##rails 路由


root ‘posts#index’ //默认index, 将根路由改为用户索引页

限制生成的路由

resources :posts , except: :destroy  //不适用destroy路由
resources :posts , only: [:show]  //仅仅使用show路由

添加其他路由

get 'posts/home'
get 'posts/about'

//具名路由(同时具有about_path和about_url)
get '/home', to: 'posts#home'
get '/about', to: 'posts#about'
//自定义路由
get '/signup', to: "users#new", as: 'signup'

集合路由(无需id)動作是屬於一組資源的 URI

resources :posts do
 collection do
    get 'recent'
  end
end

要添加额外的新建动作,可以使用 :on 选项:
resources :posts do
  get 'recent', on: :collection
end

成员路由 (動作是屬於單個資源的 URI)

resources :posts do
  member do
    get 'recent'
  end
end

如果成员路由不多,可以不使用代码块形式,直接在路由上使用 :on 选项:
resources :posts do
  get 'recent', on: :member
end

通用路由

concern :commentable do
  resources :comments
end

控制器命名空间和路由

最常见的是把管理相关的控制器放在 Admin:: 命名空间内。你需要把这些控制器存在 app/controllers/admin 文件夹(需要移动文件)中,然后在路由中做如下声明:
namespace :admin do
  resources :articles, :comments
end

嵌套路由

resources :magazines do
  resources :ads
end

重定向

在路由中可以使用 redirect 帮助方法把一个路径重定向到另一个路径:
get '/stories', to: redirect('/articles')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值