我试图了解rails收到get / post命令和提供页面之间发生的事件序列。 我只是试图自己绘制序列,我意识到我并不完全了解自己哪些脚本甚至先运行所以我想在脑海中清除它。
非常感谢
乔恩
我试图了解rails收到get / post命令和提供页面之间发生的事件序列。 我只是试图自己绘制序列,我意识到我并不完全了解自己哪些脚本甚至先运行所以我想在脑海中清除它。
非常感谢
乔恩
请求进入路由匹配器,它解析URL,解析config / routes.rb,如果URL匹配路由,它会查找名称与URL的控制器部分匹配的控制器文件(例如http:// localhost) / categories将查找CategoriesController)
然后,发生以下两件事之一:
执行所选操作,然后Rails在操作中呈现渲染调用中指定的模板/文件/操作,或者查找与操作同名的视图文件,并以.html.erb结尾(默认情况下)在app / views /目录中。
简单。
Rails做了很多事情,获得一个体面的概述的好方法是阅读rails指南中的“Action Controller Overview”文档: http : //guides.rubyonrails.org/action_controller_overview.html
基本结构是:
但是rails也可以根据请求做很多事情。 它会根据您的接受标头自动确定您想要的响应类型,和/或如果您手动指定所需的响应类型,文件结尾如/blog/1.xml。 Rails还神奇地创建了一个格式良好的params散列,解析了诸如user [name] = foo到{:user => {:name =>“foo”}}之类的参数。 Rails还有内置的异常处理和一些很好的东西,以防止跨站点请求伪造等等,所以请查看控制器概述中的内容。