Клонирование объекта - PullRequest
0 голосов
/ 26 июля 2010

У меня есть кнопка с надписью «сохранить и скопировать», которая выполняет сохранение текущего объекта (@student) и перенаправляет его обратно на новое действие, и оно содержит все предыдущие атрибуты объекта. Я застрял, как заполнить предыдущие значения.

Предоставляет ли ROR любой такой метод для создания клона объекта.

1 Ответ

2 голосов
/ 26 июля 2010

Ruby on Rails предоставляет метод clone, который создает неглубокий клон объекта. В вашем случае вы можете использовать это так:

@previous_student = @student.clone

Документация по методу clone гласит:

Возвращает клон записи, которая еще не был назначен идентификатор и рассматривается как новая запись. Обратите внимание, что это «мелкий» клон: он копирует только атрибуты объекта, а не его ассоциации. Степень «глубокого» клон является конкретным приложением и является поэтому оставил заявку на осуществлять в соответствии со своими потребностями.

http://api.rubyonrails.org/classes/ActiveRecord/Base.html#M001848

Как указано в документации, вам следует переопределить метод clone, чтобы реализовать собственное клонирование, если вы используете ассоциации в модели Student.

Приветствия

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...