1:MVC中的模型(model):模型携带者数据,还负责执行施加于这些数据上的业务规则,比如,“对于20元以下的订单不予打折”这一约束就要由模型来确保。也即,模型是数据的容器,也是数据的监护者。
2:MVC中的视图(view): 负责生成用户界面,根据模型中的数据生成。
3:MVC中的控制器(controller):负责 协调 整个应用程序。
4:Ruby中ORM映射:表映射到类,记录映射到对象,字段映射到对象的属性,类方法用于执行表级别的操作,实例方法用于执行单条记录的操作。
Rails类 对数据库表进行了包装,对于执行单条记录的操作,类的实例方法返回对应的对象,如:
order =Order.find(1)
puts "Order amount is #{order.amount}"
有时类级别的方法返回一组对象 的集合 (遍历)
Order.find(:all,:conditions=>"name='zhangsan'").each do |order|
puts order.amount
end
5:controller与view对应关系 (2个一一对应)即:
浏览器:http://localhost:3000/say/hello/123
默认路由配置:端口后第一部分(say)是控制器名称,第二部分(hello)是action名称也就是控制器类中的方法名称,第三个是传递的参数(默认id)
对应关系:控制器名称= app/views下的子目录(文件夹)名称
action名称= app/views下的子目录下的文件名称
6:<%= %> 符号之间的内容会被 看作Ruby代码执行,执行结果被转换成字符串,并替代符号中内容的位置。
<% %> 符号之间的内容会被 看作Ruby代码执行,但执行的结果不替换输出
7: %> 改为 -%> 这里是减号, 会告诉Rails将跟随其后的换行符全部去掉
8:<%= %> 有时生成的字符串会包含< 或& 符号,影响html页面,用辅助方法 h()可以对字符进行转码。
9:视图模板可以访问控制器中的任何实例变量