Я использую Mongoid, и когда я .update_attributes
на модели с references_one
с использованием параметров [: имя_модели], я получаю сообщение об ошибке ...
@model.update_attributes(params[:model_name])
undefined method `associations' for "...":String
Я понимаю, почему это такпроисходит.Mongoid пытается отобразить это .association_name
на строковое значение в хэше params, когда он хочет получить ссылку на другой Mongoid :: Document.Что я получаю.
Я хотел бы знать, есть ли глобальный способ исправить это. На данный момент я справился с этой проблемой, выполнив что-то вроде следующего...
model_params = params[:model_name]
if model_params.has_key? :relationship
model_params[:relationship] = RelatedModel.first(:conditions => { :_id => model_params[:relationship] })
end
Это работает , но Я бы предпочел иметь исправление, которое исправляет его каждый раз, чтобы я не отображал вручную связанную модель каждый раз, когда делаю обновление,Это было бы демонстративно нарушением СУХОГО.