我在我的Rails應用程序中有一個User
模型,我也有一個UserQueue
模型。由於命名空間衝突,無法測試RSpec?
User has_many UserQueues
和UserQueue belongs_to User
。
這是問題所在。當我嘗試測試UserQueue並嘗試創建一個與
let(:user) { FactoryGirl.create(:user) }
before { @queue = user.user_queues.create(queue_privacy_id: 1) }
我收到以下錯誤。
NameError:
uninitialized constant User::user_queue
我從這個理解是RSpec的預計UserQueue是在用戶的命名空間(即用戶:: UserQueue)。然而,在我的應用程序中並非如此。我無法命名模型隊列,因爲它是保留的。
有沒有辦法告訴RSpec該模型沒有命名空間?
這是我的模特。
class User < ActiveRecord::Base
attr_protected
has_many :user_queues, :class_name => "user_queue", :foreign_key => "user_id"
def name
"#{self.first_name} #{self.last_name}"
end
end
class UserQueue < ActiveRecord::Base
attr_accessible :queue_privacy_id, :user_id
belongs_to :user, :class_name => "User", :foreign_key => "user_id"
end
安置自己的用戶和UserQueue模型 – usha
嘗試':CLASS_NAME => 「UserQueue」' – zetetic
@zetetic在哪裏?在前面的塊? – eytanfb