Невозможно изменить данные с Mongoid - PullRequest
0 голосов
/ 27 мая 2011

Я могу прочитать свою базу данных, используя Mongoid, но не могу записать в нее.

В этом примере ниже успешно выводится тип устройства действия, но происходит сбой метода сохранения с этим сообщением об ошибке: « undefinedМетод `name 'для nil: NilClass "

        activity = Activity.find('4d89568d4f21557eb10003fc')
        puts activity.deviceType
        activity.description = 'my description'
        activity.save

Вот мои определения классов:

class User
    include Mongoid::Document
    field :name, :type => String
    field :identifier, :type => String
    field :email, :type => String
    referenced_in :activity
end

class Trackpoint
    include Mongoid::Document
    field :when, :type => DateTime
    field :latitude, :type => Float
    field :longitude, :type => Float
    field :distance, :type => Float
    field :altitude, :type => Float
    field :heartRate, :type => Integer
    embedded_in :activity, :inverse_of => :trackpoint
end

class Activity
    include Mongoid::Document
    field :startTime, :type => DateTime
    field :description, :type => String
    field :sport, :type => String
    field :deviceType, :type => String
    field :deviceId, :type => String
    field :deviceActivityId, :type => String
    field :isPublic, :type => Boolean
    field :user_id, :type => String
    embeds_many :trackpoints
    references_one :user
end

Спасибо за любую помощь ...

1 Ответ

0 голосов
/ 28 мая 2011

Только что избавился от операторов: inverse_of и теперь работает!

...