2017-10-18 6 views
1

Certains éléments sont utilisés globalement dans différentes sections, telles que sidebar-user. J'ai donc voulu créer un fichier modèle distinct pour cela et l'importer dans les pages quand j'en ai besoin.Mise à jour globale des fichiers gabarits erb.html dynamiques dans l'application RubyonRails 5

Donc, j'ai créé un dossier vues/applications et créé fichier _sidebox-user.erb.html en elle.

enter image description here

et je le code ci-dessous pour rendre à index.erb.html

 <!-- SIGN UP/LOGIN BOX --> 
     <%= render 'sidebox-user.erb.html' %> 

Mais elle rend comme on le voit ci-dessous au lieu de courir mes codes rubis dans le fichier modèle ♂️

enter image description here

Que manque-t-il ici?

Merci beaucoup!

Répondre

1

Le rendu réel est effectué par des sous-classes de ActionView :: TemplateHandlers. L'extension de fichier sur votre vue contrôle le choix du gestionnaire de modèle. En commençant par Rails 2, les extensions standard sont .erb pour ERB (HTML avec Ruby incorporé) et .builder pour Builder (générateur XML).

L'extension est name_of_file.html.erb, note ERB doit être spécifié comme l'extension « finale », en tant que votre fichier est nommé _sidebox-user.erb.html est alors utilisé comme un fichier html. Renommez le _sidebox-user.html.erb et cela devrait fonctionner. Notez que vous pouvez utiliser uniquement le nom, l'extension est déduite:

<%= render 'sidebox-user' %>