存档

2013年6月 的存档

《Agile Web Development with Rails》抄书笔记(14):购物车靠边

2013年6月27日 没有评论

《Agile Web Development with Rails》抄书笔记系列

  “《Agile Web Development with Rails》抄书笔记系列”目录

  上一节提到,客户希望我们的网店使用Ajax来实现。那么神马是Ajax呢?

  在过去(2005年以前),浏览器被我们当作一个聋哑人。当我们开发一个基于浏览器的应用时,我们会发送一个页面到浏览器,然后忽略这次会话。曾几何时,用户填写一些表单信息,然后点击链接,接着应用被进来的请求唤醒,开始处理请求。最后,应用返回一个完整页面给用户,冗长的处理过程还要再度开始。在此之前,我们的Depot应用也是如此。

  但是,事实上浏览器并非是一个聋哑人。浏览器也可以运行代码,几乎所有的浏览器都可以运行JavaScript。另外,经试验证明,JavaScript可以在幕后和服务器进行交互,更新页面。 Jesse James Garrett将 阅读全文…

《Agile Web Development with Rails》抄书笔记(13):清空购物车

2013年6月18日 没有评论

《Agile Web Development with Rails》抄书笔记系列

  “《Agile Web Development with Rails》抄书笔记系列”目录

  上一节,我们介绍了如何进行错误处理。另外,既然可以向购物车中添加商品,那么清空购物车也是一个必要的功能。我们这节来实现清空购物车的功能。

D呱呱

  关于这节内容的代码:

  1. 这节开始之前:https://github.com/diguage/depot/tree/v-10.2
  2. 这节完成之后:https://github.com/diguage/depot/tree/v-10.3

  要实现清空购物车的功能,那么我们必须 阅读全文…

“《Agile Web Development with Rails》抄书笔记系列”目录

2013年6月18日 没有评论

《Agile Web Development with Rails》抄书笔记(12):错误处理

2013年6月13日 没有评论

《Agile Web Development with Rails》抄书笔记系列

  “《Agile Web Development with Rails》抄书笔记系列”目录

  上一节,我们介绍了如何将购物车中相同的商品合并到一条记录中。还让大家寻找购物车实现的缺点。大家有木有什么发现啊?

  请大家注意,向购物车添加商品后,购物车页面的URL,格式是否如cart/nnn,其中,nnn是购物车的ID。如果我是一个居心叵测的捣蛋鬼,我填入一个非法的字符,会显示什么结果呢?D瓜哥试验的结果是, Active Record 会报一个 RecordNotFound 的异常,进一步会显示应用的调用信息、框架信息以及服务器相关信息。有了这些信息,那些别有用心的捣蛋鬼就可以实施有针对性的攻击,甚至破坏我们的应用等。所以,要针对这些错误做一些特殊处理。这就引出了我们这节的主要内容: 阅读全文…

《Agile Web Development with Rails》抄书笔记(11):优化购物车

2013年6月12日 没有评论

《Agile Web Development with Rails》抄书笔记系列

  “《Agile Web Development with Rails》抄书笔记系列”目录

  虽然上一节,我们创建了个一个初步在购物车,也通过了功能性验证。但是,这个购物车还有很多不完善的地方,比如,如果顾客添加了多个同一件商品,那么我们就需要重组这个购物车。这一节,我们将从这方面着手,来完善这个购物车。

D呱呱

  关于这节内容的代码:

  1. 这节开始之前:https://github.com/diguage/depot/tree/v-09.3
  2. 这节完成之后:https://github.com/diguage/depot/tree/v-10.1

  解决上面提到的这个问题,其实很简单只需要给 line_items表增加一个表示数量的列即可,我们将 阅读全文…