rubyonrails
foreverman
这个作者很懒,什么都没留下…
展开
-
在pseudo-model中使用logger
用rubyonrails开发已有三个月左右, 还没有在model中使用过logger.今天碰巧需要在一个pseudo-model(不继承ActiveRecord::Base, 即不对应数据库中的表)中使用logger, 突然不知道应该从哪里获取logger.如果在Controller和Model的方法中, 可以直接引用logger, 例如:ruby 代码 # use logger...2007-07-03 22:51:00 · 137 阅读 · 0 评论 -
巧用update_attribute
我当前的项目中有一个User model, 大体如下:ruby 代码 class User < ActiveRecord::Base validates_uniqueness_of :username, :email end 一般对user对象的修改主要有如下两种场景: 修改用户的基本信息,如email, nickname, ....2007-07-21 14:32:00 · 190 阅读 · 0 评论 -
console tips and tricks
一篇介绍console使用技巧的好文章:http://errtheblog.com/post/26除此之外,console可以运行在各种RAILS_ENV环境:ruby 代码 #默认运行在开发环境 ruby script/console #运行在测试环境 ruby script/console test 为了在con...2007-07-23 15:14:35 · 70 阅读 · 0 评论 -
rails测试中的陷阱
在测试中访问cookie的值必须要用这种形式: cookies['key'].value.first, 例如cookies['auth_token'].value.first。这里应注意两点, 一是在测试中访问cookie必须要用String作为key, 不能用Symbol(在controller中既可以用String,也可以用Symbol);二是要取得值必须调用value方法,但返回的...2007-09-26 14:57:47 · 77 阅读 · 0 评论 -
澄清对helper的一些错误认识
helper主要是帮助视图尽可能将代码从视图中隔离出来, 并提高视图之间代码的可重用性. 基于此, rails为我们做了一些"连接"工作: 每一个controller都对应一个helper module,例如对应UserController的是UserHelper, rails内部做了一些连接工作,使得默认每个controller下的所有视图都可以访问相应helper 的方法. ...2007-10-10 16:45:45 · 232 阅读 · 0 评论 -
&&的一种使用场景
在ruby代码中经常看到这种使用||的idiom:ruby 代码 a = a || b # or more concise: a ||= b 但是却很少看到使用&&的场景。如果你在一个方法中想返回一个表达式, 就像这样:ruby 代码 def foo bar.prop end ...2007-10-11 14:51:38 · 226 阅读 · 0 评论 -
组织controller的一个规则
进些天一直在读一本叫做RailssSpace(http://www.amazon.com/dp/0321480791)的书,其中有一个如何管理controller的规则觉得很有用,规则大致如下: 使用名词作为controller的名字;动词作为action的名字。例如:UserController中有login, logout, register, edit等actions. 如...2007-10-11 15:43:29 · 191 阅读 · 0 评论 -
Gotchas in rails validation
假设我为了让用户输入的数据长度不超过数据库定义的长度,定义了如下validation:ruby 代码 class User < ActiveRecord::Base validates_length_of :name, :maximum => 50 end 上面代码的行为有时却颇为怪异:ruby 代码 ruby ...2007-10-11 17:30:32 · 80 阅读 · 0 评论 -
"class instance variable" 和 “class variable”的区别
class variables are available in class methods and instance methods, but class instance variable is only available in class methods: ruby 代码 class Test @@cla_v...2007-10-20 17:18:49 · 323 阅读 · 0 评论