读《应用rails进行敏捷web开发》第2版-2

对数据的验证应该放在模型层Model,因为在模型层控制,可以不管是是来自控制器还是其他类型的数据更改请求,都可以被截获并进行验证。

 

在控制器中使用scaffold :product 可以生成动态脚手架

而是用generate scaffold product admin就生成静态脚手架

product.content_columns 可以返回model的字段list,如同Delphi的TQuery.FieldList

 

column.human_name 如同delphi的FieldName

 

truncate(somtetext,80)可以限制显示80个字符,如果超出则是xxxx...

stylesheet_link_tag "scaffold","my_css"

 

在layout目录放入控制器名.rhtml,该控制器所有请求会调用它,里面当然得有

 

凡是有修改数据请求的,我们都使用http里post请求来完成,而表单(form)可以默认使用这种形式。所以。。。

button_to可以生成这样的表单,虽然这个表单只有一个button而已。

 

cookie用来解决让访问者感觉像是有状态(即服务器会记住其操作)的一样,其实每次请求都把之前和当前的数据更改要求记录在本地,同事提交给服务器。于是。。。无状态的服务变成了有状态。

基于以上原因,所以凡事看起来会记录你信息的web网站,都要求你的浏览器设置为允许cookie。

 

如何记住这些操作?

1.用cookie全部记住你的操作-----这些操作记录在浏览器,即client端。

2.cookie存储网站给你分配的一个唯一id(session_id),然后把操作记录在服务器进程上——即服务器来记录,这种方式必须保证多台服务器的情况下,这些记录能同步,单台服务器可以不考虑这个问题。

3.cookie存储你的session_id,持久化你的操作,比如记录在数据库里,这样也不用考虑多服务器同步问题(即使是数据库集群,同步也不用应用程序来关心)

 

这个有点象db2的value函数,value(x,y)----如果x is null,则返回y,否则返回x

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值