Rails5 Route Document
创建: 2017/06/29
表示所有有效路径 |
rails routes 路径类内部可以带参数, 表示请求的参数 sample_test1_method(data_id: d.id) # 控制器名_方法名_path |
新建带命名空间的controller | rails generate controller test::con t1 t2 t3 t4 |
view的位置 | views/模块名/类名/... |
route的记述原则 | 通用的记在后面 root记在最后 |
获取 | GET |
创造 | POST |
更新 | PATCH/PUT 区别: patch为部分更新,更新传上去的 put更新全部,必须上传全部 |
删除 | DELETE |
RESTful 接口定义 | |||||||||||||||||||||||||||||||||||||||||||||||||
位置 | /config/route.rb | ||||||||||||||||||||||||||||||||||||||||||||||||
resources方法 |
resources :names [,...] 注: 控制器名为复数
|
||||||||||||||||||||||||||||||||||||||||||||||||
由resources自动定义的路径 | resources: :samples对应的控制器名 SamplesController.rb 注意:路径中的参数也是可以拿出来的,params[:format]
|
||||||||||||||||||||||||||||||||||||||||||||||||
由resources自动定义的路径助手 | 命令行: rails routes 网页版: http://localhost:3000/rails/info/routes _path和_url的区别,url直接生成绝对路径(http://...) id也可以指定模型 指定格式, url(..., format: :json)
|
||||||||||||||||||||||||||||||||||||||||||||||||
单一的resource定义 |
用于唯一的资源(如设定等) 注: 控制器名为复数
命令行: rails routes
|
||||||||||||||||||||||||||||||||||||||||||||||||
RESTful 接口自定义 option |
|||||||||||||||||||||||||||||||||||||||||||||||||
resources/resource的选项 | |||||||||||||||||||||||||||||||||||||||||||||||||
constraints |
对路径参数设置限制 注: Controller为TestController |
||||||||||||||||||||||||||||||||||||||||||||||||
限制类 制約クラス |
用正规表现无法实现的复杂限制用限制类
例 ------------------------------------------------------ |
||||||||||||||||||||||||||||||||||||||||||||||||
去除format | 选项 format: false 默认为true |
||||||||||||||||||||||||||||||||||||||||||||||||
改变用的视图控制器名 |
|
||||||||||||||||||||||||||||||||||||||||||||||||
命名空间 | namespace
|
||||||||||||||||||||||||||||||||||||||||||||||||
限定使用的方法(action) | resources :tests, only: [:show, :index] resource :test, except[:index] 注: 用数组包含方法的符号(Symbol)
|
||||||||||||||||||||||||||||||||||||||||||||||||
增加方法(action) | collection 对应多个对象(object) member 对应一个对象(object) 可以省略任意一个或全部(也就是不加东西) resources :name do [member do
resources :test do member do |
||||||||||||||||||||||||||||||||||||||||||||||||
改变方法(action)指向的url名字 | path_name: {原名: :新名, ...} 例: resources :test, path_name: {new: :insert, edit: :revise} |
||||||||||||||||||||||||||||||||||||||||||||||||
嵌套 | resources :test1 do resources :test2 end
|
||||||||||||||||||||||||||||||||||||||||||||||||
去除嵌套路径中被嵌套部分的母路径 原(去除复制的复制) |
shallow:true
resources :test1 do |
||||||||||||||||||||||||||||||||||||||||||||||||
重复的共有化 |
提取重复部分 concern :name do 使用 # 单个 ● 参数
例 # 只提取具体方法 |
||||||||||||||||||||||||||||||||||||||||||||||||
设定默认值 | get 'sample/:model/:id', default: {model: } | ||||||||||||||||||||||||||||||||||||||||||||||||
非RESTful路径的定义 | |||||||||||||||||||||||||||||||||||||||||||||||||
基本 |
match pattern => action, via: verb [opts] 例: match '/user/:id/show' => 'sample#t1', via: [:get]
|
||||||||||||||||||||||||||||||||||||||||||||||||
设置首页 | root to: url 例子 root to: 'devise/user#t1' |
||||||||||||||||||||||||||||||||||||||||||||||||
Rails5 Route Document的更多相关文章
- Rails5 View Document
更新: 2017/06/11 更新: 2017/06/15 加粗,submit必须放在form_for内部 更新: 2017/06/23 对待完成的追加# TODO: ...
- Rails5 Model Document
创建: 2017/06/09 更新: 2017/06/21 更新: 2017/06/23 对待未完成的追加# TODO: 更新: 2017/06/29 修正文件名db/seed.rb ---> ...
- Rails5 Controller Document
更新: 2017/06/28 大致完成全部 更新: 2017/06/29 补充module文件命名规则 更新: 2017/07/09 补充session的设置 更新: 2018/03/06 修正ren ...
- WPF嵌入百度地图完整实现
无论是做App还是web开发,很多都会用到地图功能,一般都会调用第三方的API实现地图功能!而正如国内的地图API提供方,基本上对Android.IOS和web开发提供了很完整的一套API,但是对于桌 ...
- odoo打包下载
view 视图中下载按钮的编辑 <record id="action_download_zip" model="ir.actions.server"> ...
- React 实践记录 03 React router
Introduction 本文主要参考了react router 的官方文档. React Router是一套完整的配合React的路由解决方案,可能你已经知道前端路由,或者知道后端有路由的概念,如下 ...
- php产品细节图多图上传示例代码 无刷新
前台文件代码 upload.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " ...
- Backbone源码解析(五):Route和History(路由)模块
今天是四月十二号,距离上次写博已经将近二十天了.一直忙于工作,回家被看书的时间占用了.连续两个礼拜被频繁的足球篮球以及各种体育运动弄的精疲力竭,所以很少抽时间来写技术博客.今天抽出时间把backbon ...
- 一个类似backbone路由的纯净route ( 前端路由 客户端路由 backbone路由 )
大家用backbone.angular,可能都习惯了内置的路由,这两个框架的路由都是非常优秀的,强大而简单. 客户端(浏览器)路由原理其实比较简单,其实就是监听hash的变化. 在之前的架构探讨中,说 ...
随机推荐
- Android 项目Log日志输出优化
概述 Android开发过程中经常需要向控制台输出日志信息,有些人还在用Log.i(tag,msg)的形式或者system.out.println(msg)方式吗?本篇文章对日志信息输出进行优化,以达 ...
- 基于springmvc、ajax,后台连接数据库的增删改查
前言 前段时间在博客园上找了一个springmvc的例子,照着学了一下,算是对springmvc有了一个初步的了解,打一个基础,下面是链接.(我只看了博客,视频太耗时间了) 博客链接:http://w ...
- Python判断字符串是否全是字母或数字
str.isnumeric(): True if 只包含数字:otherwise False.注意:此函数只能用于unicode string str.isdigit(): True if 只包含数字 ...
- 网络基础——TCP/IP五层模型
TCP/IP五层模型 TCP/IP五层协议和OSI的七层协议对应关系如下 在每一层都工作着不同的设备,比如我们常用的交换机就工作在数据链路层的,一般的路由器是工作在网络层的. 在每一层实现的协议也各不 ...
- Django-F和Q函数作用与使用
F函数 能够解析对现有查询对象的引用的对象. obj = Score.objects.get(stuid=') obj.score += 1 obj.order.save() 执行出的SQL语句 wh ...
- RequestMapping_HiddenHttpMethodFilter 过滤器
[REST] 1.REST:即Representational State Transfer.(资源)表现层状态转化.是目前最流行的一种互联网软件架构.它结构清晰.符合标准.易于理解.扩展方便,所以得 ...
- Codeforces Round #228 (Div. 2)
做codeforces以来题目最水的一次 A题: Fox and Number Game 题意:就是用一堆数字来回减,直到减到最小值为止,再把所有最小值加,求这个值 sol: 简单数论题目,直接求所有 ...
- [K3Cloud2.0]如何解决创建管理中心失败的问题
标题有点大,实际上,Cloud2.0产品质量还是顶呱呱的,至于在安装使用过程中出现的这个管理中心无法创建的问题,实际上是与我的网络环境有关,下面讲一下我的网络环境: 开发团队目前所在网段:10.30. ...
- 采药 2005年NOIP全国联赛普及组&疯狂的采药
时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师.为此,他想拜附近最有威望 ...
- [bzoj1072][SCOI2007]排列(状态压缩DP)
题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1072 分析:看了题解才知道,状态的设计很巧妙,用余数表示,即f[i][j]表示二进制状 ...