Важно отметить что, как только Вы генерируете базовый файл, необходимо будет использовать gdb инструмент для рассмотрения его. Для gdb для понимания базового файла необходимо сказать gcc оснащать двоичный файл с отладочной информацией: чтобы сделать это, Вы компилируете с флагом-g:
$ g++ -g prog.cpp -o prog
Затем можно или установить "ulimit-c неограниченный", чтобы позволить ему вывести ядро, или просто запустить программу внутри gdb. Мне нравится второй подход больше:
$ gdb ./prog
... gdb startup output ...
(gdb) run
... program runs and crashes ...
(gdb) where
... gdb outputs your stack trace ...
я надеюсь, что это помогает.
Вот для чего предназначен метод ActiveRecord :: Base # clone :
@bar = @foo.clone
@bar.save
неправильный способ сделать это:
f2 = Foo.new( f1.attributes ) # wrong!
f2.save # wrong!
или в одну строку, но все же неправильный :
f2 = Foo.create( f1.attributes ) # wrong!
подробности см. В комментариях
Вы можете использовать встроенные методы атрибутов
, которые предоставляет rails. Например,
f2 = Foo.new(f1.attributes)
или
f2 = Foo.new
f2.attributes = f1.attributes