gpt4 book ai didi

ruby-on-rails - factory_girl 忽略它正在创建实例的类的命名空间

转载 作者:行者123 更新时间:2023-12-04 05:44:52 26 4
gpt4 key购买 nike

我搜索了很多,但找不到任何与我类似的问题。假设我们有命名空间模型 UserManagement::UserUserManagement::Session .
以下是这些模型的工厂:

FactoryGirl.define do
factory :user, class: UserManagement::User do
UserManagement::User.set_database_name 'db_name'

id '000000000a00a000a0000001'
login 'Mark'
password 'password'
password_confirmation 'password'
data { {} }
session { build(:session) }

initialize_with { new(attributes) }
end
end


FactoryGirl.define do
factory :session, class: UserManagement::Session do
token '0000-0000-0000'
expiration { Time.zone.now + 30.minutes }
end
end

当我执行 FactoryGirl.lint , 我收到 user - uninitialized constant Session (NameError)我猜这就是命名空间的问题,因为 :user工厂试图寻找 Session型号,不适用于 UserManagement::Sesssion .

最佳答案

好的,所以我找到了该问题的解决方案。我猜 MongoMapper 不像 ActiveRecord 那样对模块很友好。我必须明确定义我的 Session 关联是哪个类名,即使它在同一个模块范围内。所以解决方案是一个 :session, class_name: 'UserManagement::Session' 感谢大家的帮助!

关于ruby-on-rails - factory_girl 忽略它正在创建实例的类的命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34615609/

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