Rails路由全解析:从基础到高级应用
1. 路由约束
在Rails中,路由约束是一种强大的工具,可用于限制特定路由的访问。支持返回字符串的属性,如 :subdomain 和 :referrer ,但不支持返回数值或布尔值的请求匹配方法,否则在路由匹配时会抛出隐晦的异常。
例如,只允许 admin 子域名的用户进行传统路由:
match ':controller/:action/:id' => :show, :constraints => {:subdomain => 'admin'}
若需要更强大的约束检查,可以使用块或任何响应 call 的对象作为 :constraints 的值,以访问请求对象。比如,保护ID小于100的记录:
match 'records/:id' => "records#protected",
:constraints => proc {|req| req.params[:id].to_i < 100 }
2. 根路由
在默认的 config/routes.rb 文件的第50行左右,可以看到根路由的相关注释。根路由定义了用户访问 http://example.com (注意末尾没有
超级会员免费看
订阅专栏 解锁全文
8

被折叠的 条评论
为什么被折叠?



