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

陪夫人去产检,26周,在三维彩超里看到金贝贝开始双手交叉在胸前,后来开始吃右手手指头,嘿嘿。

注:贝贝是已经确定的小名,男女均适合,就像REST,可以在一个方法里返回多种格式,这取决于客户端请求的格式

 

 

 


测试路由

 

 


 第二十一章 ActionController和Rails

 控制器控制过程,按顺序执行,成功则不进行后续操作

1.与action同名的public方法

2.否则method_missing(),传入action名称作为唯一参数

3.同名视图模板

 4.报错Unknow Action

 

hide_action :check_credit

可以隐藏声明为public的check_credit方法,不被作为action调用

如果出现这种情况,设计是有问题的,应该建个module来包含这种方法

 

控制器环境

可以使用的环境变量

action_name

cookies

headers

params

request

   .domain,

   .remote_ip,

   .env['HTTP_ACCEPT_LANGUAGE']

   .method

   .delete?/get?/post?/put?

   .xhr?/xml_http_request?

response

session

 

 

 

应答的3种方式

1.视图模板

2.返回字符串

3.不返回任何东西,空方法。通常用于ajax调用

4.其他数据,比如下载

 

模板的渲染

任何情况下action应该只应答一次(包括代码中4种方法)。

 

render (:action=>:index)

仅调用index模板,并不执行index这个action方法。因此如果index模板需要某些变量,上述代码之前必须设置这些变量

 

 

redirect_to

  :action=>"xxx"

  :url=>"xxx"

  :back

 

cookie和session

cookie保存短小字符串

session可以保存任何可被序列化的对象

 

session会给用户生成session_id,并保存在cookie中,键值是_session_id

不要在session中保留这些数据

1.大量数据:用数据库保存它们

2.经常变化的数据:应该用数据库保存,否则session中的数据可能和实际(数据库中)数据不匹配。比如当前用户、统计数据等。

3.关键信息:因为一旦用户删除cookie,session_id就失效了,进而session也失效了。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值