params:参数

0
视频
0
完成
0%
进度
0
分钟
0
完成
0%
进度

在控制器里你可以得到用户发送过来的参数,这些参数可以在用户访问的地址里,比如资源的 id,还有地址里 ? 号右边的东西,我们都可以在控制器的参数里得到,这些在地址里的参数就是查询符 ... 还有我们也可以得到用户在表单里提交过来的数据,这些数据叫 post 数据,因为它们都是用 http 的 post 方法发送给我们的应用的数据 ... 这些数据我们也可以在控制器参数里得到 ...

它们都会包含在一个叫 params 的 hash 里 ... 里面有数据的名字,还有对应的值 .. 在 photos 的 index 方法里,我们可以检查一下 params 里面包含的东西 ...

render plain: params.inspect

在浏览器上访问一下 /photos 这个地址... 页面上显示的东西就是 params 里面包含的内容 ... 现在它里面有处理这个请求用的 controller ... 还有具体使用的控制器的 action ...

query string

在地址里添加一个 ? 号 tag 等于 yellow ...

现在 params 里面就会包含一个 tag ,对应的值是 yellow ..

array

如果数据是一个数组的话,这个地址应该像这样 ... tag 一组方括号 .. 等于 yellow ... & tag[] 等于 blue ... 你会看到,现在 tag 的值会是一个数组 .. 里面有两个项目,yellow 还有 blue ..

post

再模拟一下使用 post 发送数据给应用... 在控制器里添加一个 create 方法 ... 检查一下 params 里的内容 ... 在控制器里暂时关掉对 create 方法的 CSRF 保护 ..

protect_from_forgery except: :create

打开 postman ... 请求一下 /photos 这个地址 ... 方法是 post .. 设置一下请求的主体 ... 添加一个 title ,它的值是 sunset ... 这就相当于是在一个叫 title 的文本框里输入了 sunset 这个内容 ..

提交一下这个请求,这个动作就相当于是提交了表单 ... 应用收到请求,会把检查 params 的结果返回给客户 ... 这里你会看到一个 title ,对应的值是 sunset ..

在控制器里你想得到 title 的值可以这样 ... params[:title] ... 再点一下发送 ... 显示的就是 title 里的内容 ...

params:参数《 Rails:控制器 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点