关于Ruby on Rails路由配置的一些建议
当你需要加入一个或多个动作至一个RESTful资源时(你真的需要吗?),使用memberandcollection路由。
#差 get'subscriptions/:id/unsubscribe' resources:subscriptions #好 resources:subscriptionsdo get'unsubscribe',on::member end #差 get'photos/search' resources:photos #好 resources:photosdo get'search',on::collection end
若你需要定义多个member/collection路由时,使用替代的区块语法(blocksyntax)。
resources:subscriptionsdo memberdo get'unsubscribe' #更多路由 end end resources:photosdo collectiondo get'search' #更多路由 end end
使用嵌套路由(nestedroutes)来更佳地表达与ActiveRecord模型的关系。
classPost<ActiveRecord::Base has_many:comments end classComments<ActiveRecord::Base belongs_to:post end #routes.rb resources:postsdo resources:comments end
使用命名空间路由来群组相关的行为。
namespace:admindo #Directs/admin/products/*toAdmin::ProductsController #(app/controllers/admin/products_controller.rb) resources:products end
不要在控制器里使用留给后人般的疯狂路由(legacywildcontrollerroute)。这种路由会让每个控制器的动作透过GET请求存取。
#非常差 match':controller(/:action(/:id(.:format)))'
热门推荐
1 训练狗狗基础
2 怎么训练狗狗笑
3 怎么训练狗狗卧下
4 上海狗狗训练基地
5 训练狗狗排便
6 狗狗基础训练
8 如何训练狗狗装死
9 狗狗站姿训练
10 狗狗训练用品
11 训练狗狗吧
12 狗狗要怎么训练
13 怎么训练狗狗玩球
14 训练狗狗唤回
15 狗狗训练躺下
16 狗狗训练指令
17 狗狗的训练技巧
18 狗狗不好训练