Я хочу иметь ECardMatch, который связан с двумя пользователями, и иметь возможность создавать с помощью таких ассоциаций, как этот @user.ecard_matches.new
и т. Д. *
Я могу сделать что-то вроде этого:
user = User.new
user.ecard_matches
Возвращает []
пустой массив
Но я не могу сделать
em = EcardMatch.new
user.ecard_matches << em
Ошибка:
NoMethodError: You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.include?
или
user.ecard_matches.new
Ошибка:
NoMethodError: undefined method `new' for []:Array
Возможно, что-то не так с моими ассоциациями в модели. Я новичок в рельсах и mongodb, так что, возможно, такое использование - плохая практика ...
Класс пользователя:
class User
include MongoMapper::Document
attr_accessor :password
key :name, String
key :perika, Integer
key :digest_password, String
many :ecard_matches
end
Класс EcardMatch:
class EcardMatch
include MongoMapper::Document
key :wager, Integer
key :turn, Integer
key :first_user_score, Integer
key :second_user_score, Integer
belongs_to :first_user, class_name: "User"
belongs_to :second_user, class_name: "User"
end