我希望能夠專門爲開發和測試使用TestUser
模型,它的行爲與我的普通用戶模型完全相同,只是它始終進行身份驗證。
這裏的關鍵問題是要有TestUser
一直呼籲用戶類的方法,並期待它的類級實例變量,就好像是一個正常的用戶,並沒有做到這一點通過cattr_accessor
即:使用普通的紅寶石對象委託ActiveRecord對象
class User
class << self
attr_accessor :foo
end
end
class TestUser ?< ??
??
end
---
User.foo = 'bar'
TestUser.foo => 'bar'
User.new.authenticate?('password') => maybe, runs authentication
TestUser.new.authenticate?(_) => true
我知道我可以通過在測試和開發中將用戶擴展到始終進行身份驗證來做我想做的事情,但是我想知道是否可以使用該額外的類來完成此任務。
這不一定是rails或activerecord問題,但是讓我感到的是,如果我將#create或#build從TestUser委派給用戶,那麼我無法正確地擴展創建的對象。 – lambdabutz 2011-01-26 22:57:53