mon problème: Je veux créer une classe TitlePanel dans mon dossier lib, cette classe utilise la méthode content_tag mais je n'arrive pas à comprendre comment la charger. J'ai essayé tous exigent 'xxx' que je pouvais penser et il continue à me donner des messages d'erreur qu'il ne peut pas trouver le fichier requis. En fait, ce que j'essaie de faire est de créer un assistant qui génère du HTML, mais je dois passer par une classe pour stocker une certaine valeur en premier. Ex de ce que j'essaye de faire:comment utiliser content_tag dans une lib/class
title = TitlePanel.new("this is my title")
title.add_panel "help" do
content_tag :div, "this is the help section..."
end
title.add_panel "search" do
content_tag :div, "this is the search section..."
end
title.to_s
la sortie étant tout le HTML requis pour faire ce travail.
Situation améliorée un peu. Il se plaint maintenant de la capture de la méthode manquante. Voici mon code complet classe TitlePanel comprennent ActionView :: :: Helpers TagHelper def initialize (t, d = "default") @title = t = d @description @labels = [] @ panneau = Hash.new fin def add_panel (label, et bloc) @labels << étiquette @panel [label] = rendement fin fin – Alain
formating améliorée, mais retiré la méthode .to_s - merde, formattage ne fonctionne pas pour des commentaires? – Alain
Je ne suis pas sûr de ce qui se passe dans votre exemple de code. Mais, si vous voulez juste utiliser la méthode content_tag dans le module de votre répertoire lib, vous devriez simplement ajouter ce bit au début de votre fichier: include ActionView :: Helpers :: TagHelper –