Я перенес свой проект из mysql в mongodb и у меня возникли некоторые проблемы.
Как обновить атрибуты во встроенном документе способом ActiveRecord? Можно в монгоиде?
class Template
include Mongoid::Document
include Mongoid::Versioning
embedded_in :site, :inverse_of => :templates
end
class Site
embeds_many :templates
end
Например:
site = Site.find(params[:current_site_id])
template = site.templates.find(params[:id])
template.update_attributes(params[:template])
Я получил:
Access to the collection for Template is not allowed since it is an embedded document, please access a collection from the root document.
Хорошо, но как это сделать из корневого документа?
Редактировать
Похоже, Mongoid :: Управление версиями, которое я использую в Template, создает некоторые проблемы. Я удаляю включенный модуль и все работает нормально.