2018-03-15

整理一下前台向后台传送数据的思路。

比如采集用户个人信息,一般是用form表单实现。用户填写好form表单之后,通过submit提交。那这份数据要被提交到哪里去呢?

数据,理所当然是要被提交到数据库的。那这个过程是怎样实现的呢?

起点:view层的submit按钮;终点:database

view层submit(post)----route→→controller::create

view层的form表单使用post方法


控制器controller和模型model之间是如何传送数据的?

model有CRUD方法,controller也有CRUD方法,(controller中的CRUD里面的数据内容是让用户填写的,而model的CRUD方法是程序员自己测试程序能否跑通用的。)

model 和 controller 就是通过对应的CRUD来传输数据的。

例如,程序员自己测试的时候:rails c

用到create方法: User.create(name: "Jim", age: 16)

而在controller中,同样的用create方法:@user =User.create(name: params[:name], age:params[:age])

在这里用 params[:name] 代替了"Jim",params[:name]的位置就是让用户在form表单里面填写的。

params是个hash,hash{name: "Jim", age: 16},hash[:name]会将“Jim”提取出来,如同这里的params[:name]也将"Jim"提取了出来。

而view和controller传送数据,就是用RESTful方法找到对应的路径。在这里,用post方法,找到create方法。



上面有错的地方:@user = User.create(name: params[:name], age: params[:age])

这样写是得不到:name的值的,应该是params[:user][:name]

因为这个params是个hash套hash的结构

params=>{ “user” => {"name"=>"Jim", "age"=>"16"}}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容