web-dev-qa-db-fra.com

Rendu partiel avec les habitants de Haml?

J'apprends Haml.

Mes fichiers d'affichage sont comme:

show.html.haml:

.content
  = render 'meeting_info', :locals => { :info => @info }

et _meeting_info.html.haml:

.detail
  %table
    %caption
      Meeting Informations of
      = info["meeting_name"]
...

Quand j'ai essayé de lancer ceci, j'ai obtenu un undefined local variable or method 'info' Erreur.

32
ssri

Essaye ça
Sans pour autant :locals et :partial

.content
  = render 'meeting_info', :info => @info

Pas besoin de spécifier les locaux.

Avec :locals et :partial
Vous devez spécifier les sections locales dans le cas suivant, c'est-à-dire en spécifiant :partial pour le rendu

.content
  = render :partial => 'meeting_info', :locals => { :info => @info }
74
Pravin

Vous utiliseriez le :locals option si vous appelez render depuis un contrôleur. Lorsque vous appelez le rendu à partir d'une vue, vous feriez simplement ceci:

= render 'meeting_info', :info => @info
14
dearlbry