2014-01-29 37 views
1

我在我的Rails應用程序中有一個User模型,我也有一個UserQueue模型。由於命名空間衝突,無法測試RSpec?

User has_many UserQueuesUserQueue 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 
+0

安置自己的用戶和UserQueue模型 – usha

+0

嘗試':CLASS_NAME => 「UserQueue」' – zetetic

+0

@zetetic在哪裏?在前面的塊? – eytanfb

回答

1

我沒有代表評論,但會要求你發佈你的工廠以及。

其他一些想法: 看看你如何處理assocations與FactoryGirl。我假設你是不是因爲軌道4:

attr_accessible :queue_privacy_id, :user_id

+0

是的,這是一個rails 3應用程序。但你聯繫我的協會部分來解決它。謝謝 – eytanfb