Определить метод глубокой копии
class BlogPost
...
def deep_copy
Marshal::load(Marshal.dump(self))
end
...
end
Это должно сработать!
Редактировать: просто чтобы уточнить, что вы делаете с этим методом, это в основном сериализация вашего объекта в память, а затем десериализация его в новом месте памяти, эффективно создавая новый объект с теми же значениями поля, что и исходный.