以下代码有效,但我担心这是偶然的。
:admin
中的factory :admin
并非用于在我的第二个陈述:admin
中引用User::ROLES.index(:admin)
。
测试/工厂/ factories.rb
factory :admin, parent: :user do
role_type User::ROLES.index(:admin)
end
同样,它有效,但我仍然想知道我是否应该为了安全而进行这种调整:
factory :admin_user, parent: :user do
...
答案 0 :(得分:1)
您的第一个代码是正确的。 :admin
是一个Ruby符号,它本身并不指向任何东西。正如评论者所说,这就像在多个地方使用数字3
一样。
也就是说,稍后阅读该代码的人可能会因为在具有不同含义的两行代码中看到:admin
两次而感到困惑。因此,为了提高可读性,我会做出改变。