Mongoid,has_and_belongs_to_many,双面关联

时间:2015-12-07 05:07:00

标签: ruby-on-rails ruby mongoid

我创建了具有自定义class Item include Mongoid::Document has_and_belongs_to_many :combinations, class_name: 'Item', inverse_of: :combinations end 关联的模型:

item1

如果我有item2 item1.combinations << item2 item1.save item1.combinations # returns [<Item2>] item2.combinations # returns [] ,当我这样做时:

  var final = [],
  temp_obj = {};

for (var i = 0; i < obj.length; i++) {
   temp_obj = {};

  if (obj[i] != null && obj[i] != '') {
    var splitted = obj[i].split(":")[0]
    temp_obj["name"] = splitted;
  }

  final.push(temp_obj);

}

console.log(final)

这意味着关联片面。如何使这种关联双面化?我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

试试这个。我没有测试它但应该工作。

class Item
  include Mongoid::Document
  has_and_belongs_to_many :child_combinations, class_name: 'Item', inverse_of: :parent_combinations
  has_and_belongs_to_many :parent_combinations, class_name: 'Item', inverse_of: :child_combinations
end

然后你可以像这样访问

item1.child_combinations
item2.parent_combinations

我希望这是你需要的。