У меня есть приложение для рельсов с MongoDB, Mongoid Mapper и devise. Авторизованный пользователь может создавать, редактировать, удалять сообщения (леса) и комментировать эти сообщения. Я беру в качестве примера модель скриншота Райана Бейтса, 238 эпизод "Монгоид".
comment.rb
class Comment
include Mongoid::Document
field :name
field :content
embedded_in :post, :inverse_of => :comments
end
post.rb
class Post
include Mongoid::Document
field :name
field :content
validates_presence_of :name
embeds_many :comments
end
user.rb
class User
include Mongoid::Document
# Include default devise modules. Others available are:
# :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
field :username
# Setup accessible (or protected) attributes for your model
attr_accessible :email, :password, :password_confirmation, :remember_me
has_many :comments
references_many :post
end
Но когда я пытаюсь зарегистрировать нового пользователя, в форме регистрации нажмите «Зарегистрироваться», я вижу эту ошибку
Mongoid::Errors::MixedRelations in Devise::RegistrationsController#create
Referencing a(n) Comment document from the User document via a relational association is not allowed since the Comment is embedded.
Я начал эту заявку с Mysql db, а затем решил перейти на монго.
Где моя ошибка?