Rails中的MVC流程与RESTful路由的流程总结

来源:互联网 发布:js arra保留字 编辑:程序博客网 时间:2024/06/10 06:08



MVC的流程参见下列图片:

MVC diagram


其处理流程如下:


[html] view plaincopyprint?
  1. 瀏覽器發出HTTP request請求給Rails  
  2. 路由(Routing)根據規則決定派往哪一個Controller的Action  
  3. 負責處理的Controller Action操作Model資料  
  4. Model存取資料庫或資料處理  
  5. Controller Action將得到的資料餵給View樣板  
  6. 回傳最後的HTML成品給瀏覽器  


对于REST路由,基本规则如下:


HTTP 请求URL动作具名路由作用GET/usersindexusers_path显示所有用户的页面GET/users/1showuser_path(user)显示某个用户的页面GET/users/newnewnew_user_path创建(注册)新用户的页面POST/userscreateusers_path创建新用户GET/users/1/editeditedit_user_path(user)编辑 id 为 1 的用户页面PATCH/users/1updateuser_path(user)更新用户信息DELETE/users/1destroyuser_path(user)删除用户


常用流程如下:

点击localhost:3000/users  浏览器自动采用GET方法,匹配到上图的index方法


点击增加,用的GET方法,action为new,返回一个页面,填写玩之后POST进入create方法 


如果点击编辑,进入edit,然后进入update方法。 


可以看出,对于/users/1 对应方法GET、PATCH、DELETE的不同,使其action分别对应到show、update、destroy,路径均为user_path(user) (加括号说明需要参数)

对于/users 对应的GET、POST将其对应到index、create,路径都是users_path

对于。/users/new 只能是GET方法,对应至new方法  路径为new_user_path

最后一个为/users/1/edit  GET方法,对应edit,路径最长,为edit_user_path(user) (需要参数)


action接收参数时一般用params[:id]来完成  



0 0
原创粉丝点击