我正在尝试做一个任务,它需要我在我的Model类中创建并保存一个ActiveRecord,然后将其返回。 rspec期望使用find_by方法来验证这一点。这里是我的模型:缺少对象的ActiveRecord方法(find_by)
-----------------------
class User < ActiveRecord::Base
attr_accessor :id, :username, :password_digest, :created_at, :updated_at
after_initialize :add_user
def initialize(attributes={})
@username = attributes[:username]
@password_digest = attributes[:password_digest]
super
end
def add_user
self[:username] = @username
self[:password_digest] = @password_digest
self.save
self[:id] = self.id
end
end
------------ ----
如果我做User.new(params),记录实际上是正确存储到数据库。但是,返回的对象缺少find_by方法。所以,rspec失败。我到处寻找,但似乎无法找到解决方案。我是一个小菜鸟,所以很抱歉,如果答案很明显,我看不到它。
请显示失败的RSpec示例和错误消息。 – Stefan
ActiveRecord对象没有'find_by'方法...'find_by'是一个类方法。 你可以显示RSpec测试吗? – SteveTurczyn
这有些很奇怪的代码 - 例如有User.new保存记录是非常不寻常的。 –