gpt4 book ai didi

ruby-on-rails - 由于命名空间冲突而无法测试 RSpec?

转载 作者:行者123 更新时间:2023-12-04 16:56:23 24 4
gpt4 key购买 nike

我有一个 User我的 Rails 应用程序中的模型,我有一个 UserQueue模型也是如此。
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 位于 User 的命名空间中(即 User::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

最佳答案

我没有代表发表评论,但我想请你也发布你的工厂。

其他一些想法:
看看你如何处理 assocations与工厂女孩。我假设您不在 Rails 4 上,因为:
attr_accessible :queue_privacy_id, :user_id

关于ruby-on-rails - 由于命名空间冲突而无法测试 RSpec?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21439586/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com