Използвам mongomapper и запазвам асоциация, като използвам следния метод:
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
А в потребителския модел съм добавил: many: Задачи
Сега бих искал да спася двама потребители (в html формата избирам 2 потребители от колекцията Users), без да използвам масива, искам да ги запазя отделно:
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
Как да го направя?
Отговори:
1 за отговор № 1MongoMapper има подобни опции като ActiveRecord, когато става въпрос за определяне на ключове и имена на класове. Вие ще направите нещо като:
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