2010-07-26 5 views
0

J'ai un bouton dont l'étiquette est "save & copy" faisant sauvegarder l'objet courant (@student) et le redirige vers une nouvelle action et ces nouvelles contiennent tous les attributs d'objet précédents. J'ai bloqué comment remplir les valeurs précédentes.Clonage d'un objet

ROR fournit une telle méthode pour créer un clone d'objet. Ruby on Rails fournit la méthode clone, qui crée un clone peu profond de l'objet.

+1

Avez-vous essayé '@ student.clone'? – mckeed

Répondre

2

Dans votre cas, vous pouvez l'utiliser comme ça:

@previous_student = @student.clone

La documentation de la méthode indique clone:

Renvoie un clone du dossier que n'a pas été attribué un identifiant et est encore traité comme un nouvel enregistrement. Notez que c'est un clone "peu profond": il copie les attributs de l'objet seulement, pas ses associations. L'étendue d'un clone "profond" est spécifique à l'application et est donc laissé à l'application à en fonction de son besoin.

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

Comme il est indiqué dans la documentation, vous devriez peut-être remplacer la méthode clone, pour mettre en œuvre votre propre clonage, si vous utilisez des associations dans le modèle Student.

Salutations