1

以下代码有效,但我担心这是偶然的。

:admininfactory :admin并不是指:admin我的第二个语句 ( User::ROLES.index(:admin))中的in。

测试/工厂/factories.rb

factory :admin, parent: :user do
  role_type User::ROLES.index(:admin)
end

再次,它有效,但我仍然想知道我是否应该为了安全起见进行此调整:

factory :admin_user, parent: :user do
...
4

1 回答 1

1

您的第一个代码是正确的。:admin是一个 Ruby 符号,它本身并不指向任何东西。正如评论者所说,这就像3在多个地方使用数字一样。

也就是说,稍后阅读该代码的人可能会因为:admin在两行具有不同含义的代码中看到两次而感到困惑。所以为了提高可读性,我会做出改变。

于 2013-11-28T20:51:40.857 回答