我正在嘗試做一個任務,它需要我在我的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保存記錄是非常不尋常的。 –