我正在 Sinatra 中从 mongo_mapper 迁移到 mongoid,当与自定义关系名称存在关系时,我在测试中不断收到“错误数量的参数(1 对 2)”错误,我真的坚持。
我有以下设置:
楷模
class Idea
include Mongoid::Document
include Mongoid::Timestamps
field :text, type: String
belongs_to :author, class_name: "User"
end
class User
include Mongoid::Document
include Mongoid::Timestamps
field :name, type: String
has_many :ideas
end
工厂
Factory.define :idea do |f|
f.sequence(:text) { |n| "Idea #{n}" }
f.association :author, :factory => :user
end
Factory.define :user do |f|
f.sequence(:name) { |n| "Name #{n}" }
end
规格
describe "Something" do
before do
Factory(:idea) # <-- This fails
end
# ...
end
我在做傻事吗?遗漏了什么?我尝试使用inverse_of
,但这似乎也没有解决它。等效的在 mongo_mapper 中工作正常,所以我觉得这是我在 mongoid 中做错的一些语法事情。