Używam programu mongomapper i zapisuję powiązanie przy użyciu następującej metody:
class Task
include MongoMapper::Document
key :user_id, ObjectId #also works without this line
belongs_to :user
def self.add(user)
a = self.new
a.user_id = user
a.save
end
I w modelu użytkownika dodałem: wiele: Zadania
Teraz chciałbym zapisać dwóch użytkowników (w formularzu HTML wybieram 2 użytkowników z kolekcji Users), bez korzystania z tablicy, chcę zapisać je osobno:
class Task
include MongoMapper::Document
key :from_user_id, ObjectId # user1 links to the Users model
key :to_user_id, ObjectId # user2 links to the Users model
Jak to robię?
Odpowiedzi:
1 dla odpowiedzi № 1MongoMapper ma podobne opcje jak ActiveRecord, jeśli chodzi o określanie kluczy i nazw klas. Możesz zrobić coś takiego:
class Task
include MongoMapper::Document
key :to_user_id, ObjectId
key :from_user_id, ObjectId
belongs_to :from_user, class_name: "User", foreign_key: :from_user_id
belongs_to :to_user, class_name: "User", foreign_key: :to_user_id
end