我使用FG非常新,我正在尝试从之前的“create_list”调用创建多个对象。这是正确的方法吗?
let(:questions) { FactoryGirl.create_list :question, 5 }
let(:answers) { questions.map do |q|
FactoryGirl.create :answer, question: q
end
}
对我来说很臭。
答案 0 :(得分:1)
答案 1 :(得分:1)
所有FactoryGirl构建器方法都支持提供一个块,该块产生新创建的对象。使用此功能,您可以在一次调用中创建记录和关联。
例如,
declare option xdmp:set-transaction-mode "update";
declare variable $prefix-replace := ('C:/', '/expath_console/');
declare function local:recursive-copy($filesystem as xs:string){
for $e in xdmp:filesystem-directory($filesystem)/dir:entry
return
if($e/dir:type/text() = "file")
then
let $source := $e/dir:pathname/text()
let $dest := fn:replace($source, $prefix-replace[1], $prefix-replace[2])
let $_ := xdmp:document-insert($source,
<options xmlns="xdmp:document-load">
<uri>{$dest}</uri>
</options>)
return <record>
<from>{$source}</from>
<to>{$dest}</to>
</record>
else
local:recursive-copy($e/dir:pathname)
};
let $filesystemfolder := 'C:\Temp'
return <results>{local:recursive-copy($filesystemfolder)}</results>
<强>资源强>