routes中.format的意义

运行rake routes会得到路由的详细。比如这条:
product_path GET /products/:id(.:format) products#show
这其中的.format表示什么呢?
.format 表示我们可以接受和响应对应的 format 请求。比如 /products/1 响应的是 html,而 /products/1.json 响应的是json

我们可以关闭这种响应,只需要resources :products, format: false

或者更改响应,只接受和响应json,如:resources :products, format: 'json'
在实践中,这对 API 的设计非常方便,比如页面上 ajax 调用 /api/users/1/status,约束它只返回 json 格式。

可以用下面的方式来调用特定的format
link_to "json", products_url(format: "json")

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容