class variables are available in class methods and instance methods, but class instance variable is only available in class methods: ruby 代码 class Test       @@cla_var = 1      &nb ...
2007-10-11

Gotchas in rails validation

关键字: validation
假设我为了让用户输入的数据长度不超过数据库定义的长度,定义了如下validation: ruby 代码   class User < ActiveRecord::Base     validates_length_of :name,  :maximum => 50   end   上面代码的行为有时却颇为怪异: ruby 代码   ...
2007-10-11

组织controller的一个规则

关键字: controller
进些天一直在读一本叫做RailssSpace(http://www.amazon.com/dp/0321480791)的书,其中有一个如何管理controller的规则觉得很有用,规则大致如下: 使用名词作为controller的名字;动词作为action的名字。例如:UserController中有login, logout, register, edit等actions. 如果发现自己开始定义带有下划线, 尤其是<verb>_<noun>形式的action,  因该考虑针对noun建立一个新的controller, verb作为新的 ...
2007-10-11

&&的一种使用场景

关键字: tips
在ruby代码中经常看到这种使用||的idiom: ruby 代码   a = a || b   # or more concise:   a ||= b   但是却很少看到使用&&的场景。如果你在一个方法中想返回一个表达式, 就像这样: ruby 代码   def foo    &nbs ...
2007-10-10

澄清对helper的一些错误认识

关键字: helper
helper主要是帮助视图尽可能将代码从视图中隔离出来, 并提高视图之间代码的可重用性. 基于此, rails为我们做了一些"连接"工作: 每一个controller都对应一个helper module,例如对应UserController的是UserHelper, rails内部做了一些连接工作,使得默认每个controller下的所有视图都可以访问相应helper 的方法. rails内置一个全局helper:ApplicationHelper, rails内部做了一些连接工作,使得默认“所有controller”下的视图 ...