#ruby
#ruby
Вопрос:
Я пытаюсь сериализовать объект и сохранить его в базе данных Postgresql, используя ActiveRecord в ruby (без rails). Для этого я использую следующий код:
components.keys.each do |key|
cphash = {:training_url => components[key][:training_url],
:klass => key.to_s,
:component => Marshal::dump(components[key][:component]),
:network_id => n}
inline = Inline.new(cphash)
inline.save!
end
Тем не менее, я продолжаю получать ошибку
failed to allocate memory (NoMemoryError)
Как мне обойти это. Я попытался разбить объект на меньшие биты (я сохраняю каждый бит в ‘each’ выше), но я все еще получаю ошибку. Кто-нибудь знает, что дает.
Ответ №1:
Встроенный gem предназначен для запуска кода C в («встроенном») ruby.
Комментарии:
1. Ммм, inline — это не встроенный gem, это класс, который я написал
2. Хорошо, предоставьте исходный код. Как вы можете ожидать от нас помощи, если вы предоставляете не весь код? Ошибка NoMemoryError возникает по очень специфическим причинам.