对用户应答(1,2,3)

“控制器”的一部分工作是响应用户。有三个基本方式来完成个工作:

1、最通用的方式是提交一个模板。在MVC 图中,模板是“视图”,它从“控制器”获得
信息并使用“控制器”来生成一个对浏览器的应答。

2、“控制器”可以直接返回一个字符串给浏览器而不是调用一个“视图”。这很少使用,
但可用于发送一个错误信息。

3、“控制器”可以发送其它数据给客户端(有时候不是HTML)。这典型地用于一些种类
下载(或者是PDF 文档,或者是文件的内容)。

我们简要地看看三者。
“控制器”总是对用户的每次请求做出应答。这意味着在处理每个请求时,你应该只调
用一次render()或者send_xxx()方法。(第二个render()会抛出DoubleRenderError 异常。)
在文档中没描述的方法erase_render_results()丢弃当前请求内的前一个render 的结果,
允许用第二个render 替换。使用它会有危险。
因为“控制器”必须应答一次,它检查在它完成对一个请求的处理前是否有个应答被生
成。如果没生成,则“控制器”查看是否有名字后面带有“控制器”和“动作”名字的模板,
并且会自动提交它。这是使用提交的最常用方式。你可能注意到,在我们购物车教程中的大
多数“动作”中,我们从未明确地提交过任何东西。相反,我们的“动作”方法为“视图”
设置上下文环境。“控制器”会注意到没有提交,它会自动调用适当的模板。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值