2010-06-29 4 views
3

Je travaille à travers un tutoriel avec le code suivant:Rails 2 - partiels: que signifie @comment = Comment.new?

<h3>New Comment</h3> 
    <%= render :partial => @comment = Comment.new, 
    :locals => { :button_name => "Create" } %> 

Je crois que 'rendre: partiel => @comment' fonctionne comme « render: partial => "commentaire",: objet => @comment '

D'où vient' = Comment.new '? Est-ce un raccourci pour: objet?

Alan

Répondre

6

En ce qui concerne Ruby,

@obj = Object.new # returns @obj 

Donc, vous rendre un commentaire partielle et la création d'un nouvel objet de commentaires qu'il peut travailler avec en même temps.

+0

Merci, je ne pouvais trouver aucune référence à ce format via Google – Alan

3

Voir la section http://apidock.com/rails/ActionView/Partials "objets de rendu avec le RecordIdentifier":

# <%= render :partial => "accounts/account", :locals => { :account => @buyer } %> 
<%= render :partial => @account %> 

Bien documenté, cela est à peine utilisé. La nouvelle assignation + (comme expliqué par aharon) fonctionne, mais elle semble un peu délicate. Dans un didacticiel, vous vous attendez à trouver une approche plus orthodoxe:

  • Créez des objets dans les contrôleurs et non dans les vues.
  • Utilisation rendu: partiel => 'mypartial',: les habitants => {...}
+1

Merci pour la référence à apidock. com, il semble une ressource très utile - Alan – Alan

+0

Je préfère la version plus verbeux moi aussi. – nathanvda