User
双方向の関係を持つ間の関係を作成する適切な方法は何ですか?
私が持っているとしましょう:
class User
include Neo4j::ActiveNode
property :name, type: String
property :created_at, type: DateTime
property :updated_at, type: DateTime
has_many :both, :friends, model_class: 'User', type: 'connection' unique: true
has_many :in, :followers, model_class: 'User', type: 'connection', unique: true
has_many :out, :following, model_class: 'User', type: 'connection', unique: true
end
その後、
users = [
User.create(name: 'Foo'),
User.create(name: 'Bar'),
User.create(name: 'Baz'),
]
これはそれを行う適切な方法でしょうか?それは非常に非効率的です:
users.each do |user|
user.friends << users.reject { |u| u == user }
end