-
快乐与爱
2009-12-20
有人说人要快乐地活着,为了最爱的人。
不过这种情况过于简单了。因为世界上还有很多类人:有人同时爱很多人,有人找不到人可以爱,有人并不爱人。
这几类人都得活着,而且未必不快乐。
或者说,快乐不应该寄托在爱上。
-
在rails model上使用namespace时需要添加的两条声明语句
2009-12-20
ruby script/generate model Teaching::Lesson ...
之后,需要在model下添加声明:
class Teaching::Lesson < ActiveRecord::Base
set_table_name 'teaching_lessons'
...
end需要在 test_helper.rb 中添加针对夹具的声明(建议添加在这里,因为每个测试都需要装载夹具):
....
class ActiveSupport::TestCase
...
set_fixture_class :teaching_lessons => Teaching::Lesson
end
....因为数据库表名,类名,夹具名之间的对应不是按照默认规约,所以要特别配置。
否则自动化测试会出现夹具不能正常装载等错误。 -
activerecord : before_save 陷阱
2009-12-20
修改某缺陷时,给工程某个Model增加了下面的回调方法:
before_save :change_hidden_status_by_unread_count
def change_hidden_status_by_unread_count
self.hidden = false if self.unread_count > 0
end看似无问题,但是导致单元测试崩掉。
其中隐藏的陷阱是,当if后面的条件不满足时,整个函数的返回值是false,而:
before_save的函数链中一旦有函数返回false,就会导致save行为中断。def change_hidden_status_by_unread_count
self.hidden = false if self.unread_count > 0
return true #<--这样改
end显式声明返回值true后,不会影响原有逻辑。当然也有别的写法。
这里也可以看出如果没有自动化测试,程序出现隐患问题的可能性其实非常大。 -
草地
2009-12-15
要除去一片草地,并不能只靠农药和砍伐。或许种上一片花园,一片麦海,才是最好的。
-
14日
2009-12-14
没有被写下来,录下来,没有人确认,没有人证实的爱,是虚假的爱。
然而也许也不影响其中包裹着幸福的愿望。
