摘要:13.PlayTime 1: 向orders表加入ship_date字段,当OrdersController更新这个值后发送一个emial通知。这个官方网站上没有提供参考的答案,论坛里有简单版本我自己实现了一个稍微复杂一点的。 我的思路是在每个order的show模板中加入一个按钮 Ship it now,每个order只有一次ship的机会,这样就避免了重复ship。 step1: 先在 orders_controller 中手动加入ship这个action:# PUT /orders/1 # PUT /orders/1.json def ship @order = Ord...
阅读全文
摘要:13.2,Iteration H2: Integration Testing of Applications,写完测试,运行 rake test出错: 1) Error:test_order_shipped(NotifierTest):ActionView::Template::Error: undefined method `protect_against_forgery?' for #<#<Class:0x00000004bcbca0>:0x00000004d43c40> /usr/local/rvm/gems/ruby-1.9.3-p194/gems/ac
阅读全文
摘要:chapter 11 Play timePlay time 2: 使用Script.aculo.us JavaScript库中的blind_up效果代替隐藏cart这个div的过程。 上网搜了一下,jquery中有blind这个效果,所以就用jquery中的hide("blind"),而不使用Script.aculo.us JavaScript库 app/views/carts/destroy.js.erb这个文件可以有好几种写法,对照着可以加深理解: 简单粗暴的方案A: $('#cart').hide("blind", 1000); 这
阅读全文
摘要:看到网上的一篇讲C#对象生命周期(Object Lifetime)的文章,通俗易懂,而且有图,很适合初学者学习,就翻译过来了。后来发现这是Pro C# 2010 and the .NET 4 Platform的第八章中的一部分。(感谢 大乖乖 提醒)。文中的专业名词第一次出现时,括号里会标注对应...
阅读全文
摘要:场景简化: 程序中的数据每隔1s实时获得的,存储到链表里,需要及时保存到文件里去。 之前的方法是把链表对象序列化到文件里去,好处是不需要太多处理,不用管链表中是否有元素(相对于后面的第三种方法而言)。可是这样有个问题,每次都得把整个链表序列化到文件里去,当数据多了之后开销挺大的。直觉上应该是每次只把新增的数据追加到文件里就可以了。 为了简洁起见,把异常处理,局部变量声明等的都去了。每次只贴出修改过的类的代码,MeasuredValue是一个类,存储了采集到的数据。 第一版的代码如下: 1 public static class FileSerializer 2 { 3 /...
阅读全文
摘要:实践11.5 Testing Ajax Changes,按照书上的写了test_should_create_line_item_via_ajax的测试,rake test:functionals时有错: 1) Failure:test_should_create_line_item_via_ajax(LineItemsControllerTest) [/home/csd/railsProjects/depot/test/functional/line_items_controller_test.rb:42]:Expected at least 1 element matching "
阅读全文
摘要:直接参照链接 section-11.4 来做 在app/views/line_items/create.js.erb 中使用jQuery语句来产生渐变显示。 if($('#cart tr').length == 1) { $('#cart').show('blind', 1000);} 可以使用JavaScript lint 在线检查JavaScript的语法对不对。 注意此时的语法是jQuery的语法,而书上的create.js.rjs是在服务器端进行处理之后才生成JavaScript语句的,所以可以使用成员变量 @cart.total_ite
阅读全文
摘要:问题状况:使用Putty登录到linux服务器后,alt+f的快捷键正常,但alt+b的快捷键不能使用 解决方案:禁用Lingoes的alt+b的快捷键。 用着Putty+Putty Connection Manager,挺不错的,可是在shell里不能使用alt+b的快捷键,alt+f是可以用的。挺不爽的,在网上搜了一下,大多是解决putty 右边alt不好使的解决方案,原因是putty把右边的alt键当作altGr发过去了,解决方案之一就是在Windows中把右边alt键映射成左边的alt键。 后来看到在shell中使用Ctrl+v 代表"verbatim insert"
阅读全文
摘要:Q1. Iteration F3: Highlighting Changes中,添加完代码后,单击Add to cart后左边的id为current_item的元素只是高亮了,但并没有发生渐变。如同 上个帖子所介绍的,还是create.js.erb中的语句不对。解决方法:step1. 修改 views/line_items/create.js.erb中page[:current_item].visual_effect:highlight,:startcolor=> "#88ff88",:endcolor=> "#114411"为$('
阅读全文
摘要:在 Iteration F2 中,按照书上的改法,单击Add Cart之后,页面没有丝毫反应。看后台有错如下:Completed 500 Internal Server Error in 12msActionView::MissingTemplate (Missing template line_items/create, application/create with {:locale=>[:en], :formats=>[:js, :html], :handlers=>[:erb, :builder, :coffee]}. Searched in: * "/ho
阅读全文