答案 0 :(得分:1)
=
创建新数组["banned", "jobseeker"]
并将其设置为@user.roles
:
# should allow multiple roles
@user.roles = ["banned", "jobseeker"]
但<<
将 "foo"
附加到现有数组(即修改现有数组!):
# should reject undefined roles
@user.roles << "foo"
FactoryGirl 不重用相同的用户对象,但它重用了相同的roles
属性。只需更改每次在工厂中动态创建的roles
数组:
Factory.define :user do |f|
...
f.roles { ['jobseeker'] }
end
Factory.define :employer do |f|
...
f.roles { ['employer'] }
end
这个, OR 避免使用<<
或任何更改现有数组/变量的方法,而是使用使用新对象的=
。 e.g。
# should reject undefined roles
@user.roles = [ "foo" ]