发布时间: 2015-04-04 00:28:00
先知道 http 的原理.
web app: 是 url 驱动的。 (用户的看到的UI,是根据url 的不同来进行跳转的,) mobile app: 是 event 驱动的(根据用户点击不同的按钮,来进行不同的跳转)所以, web app 就只有两个角色参与: browser, server
一个典型的应用: 小王打开新浪网页。过程是: 1. 小王在浏览器中输入地址: www.sina.com ( '/index') 2. 小王回车后, browser 发送 request 给 server, 请求打开 '/index' 3. server 收到 request 之后,生成 index 这个页面的内容。 4. server 把 index的内容 返回给 browser ( response) 5. browser 把 response的内容(index的内容) 展示给小王。上面的过程, 跟server 端是静态,还是动态的无关。
/user_home?id=3 # =》 小王你好。 /user_home?id=4 # =》 小李你好。 /user_home?id=5过程,如果有rails参与的话, rails 作为server ,参与了上面5个步骤中的3 步:
Rails.application.routes.draw do resources :users do # 会负责生成默认的7个路由: index, show, edit, create, update, destroy, new collection do get :home end end endC. 对应的 action开始运行, 获取数据, 准备留给view来渲染。
class UsersController < ApplicationController # 由这个方法进行处理。 def home @user = User.find params[:id] end end # @user : 是 User的一个 instance # user = User.new # user.rb 看起来应该如下: class User < ActiveRecord::Base endD. action运行完之后, rails开始渲染对应的view:
app/views/users/home.html.erb 您好, <%= @user.name %>E. rails 就会把上面的view, 渲染出结果:
您好, 小李F. rails把这个内容,发给browser. browser 发送请求, 有4种。
user = User.find_by_name('小王') user.age = 33 user.save具体 ,参考: