Factory.define :voted_post, :parent => :post, :class => Post do |p|
p.association :votes, :factory => :vote
end
Это то же самое, что пытаться пойти
some_voted_post.votes = Factory(:vote)
Обычно вы пытаетесь назначить один голос в виде массива.
EDIT
У вас может быть массив, содержащий один голос, но вы не можете просто иметь один голос.
Это разница между:
some_voted_post.votes = Factory(:vote)
и
some_voted_post.votes = [Factory(:vote)]
Первый не является массивом и, следовательно, не работает, последний является массивом.