Comment utiliser céder pour l'héritage de gabarit dans erb? Je veux utiliser erb dans un script CGI ruby ordinaire et je veux utiliser un template de base et un sous-modèle comme Rails avec le template d'application.céder dans ERB sans rails
Répondre
Je ne pense pas que vous le pouvez - Rails fournit cette infrastructure dans le cadre de l'actionpack.
Ce que vous pouvez faire est de prendre actionpack et l'ajouter dans votre script.
Vous pouvez également rouler vous-même un système de gabarit léger.
Alternativement, utiliser alternativement Rails ou Merb ou Sinatra.
def a
ERB.new('<%= yield %>').result(binding)
end
a{123}
#=> "123"
Il est important que l'appel à Kernel#binding
être à l'intérieur d'une méthode, de cette façon le contexte comprend le bloc (ERB#result
ne prendra pas un bloc).
Je n'ai pas réussi à faire fonctionner ça. Comment ERB sait-il que cela devrait rendre le rendement? –
Extraction Tilt (http://github.com/rtomayko/tilt/). C'est la pierre précieuse qui gère les templates dans Sinatra et qui fournit des rendements ERB ainsi que de nombreuses autres fonctionnalités intéressantes.
Vous pouvez utiliser Tilt mais si vous ne voulez pas ajouter une dépendance supplémentaire, voici un meilleur exemple sur la façon dont vous pouvez donner à erb:
require "erb"
class Controller
TEMPLATE = ERB.new("Hello <%= @someone %>\n\n<%= yield %>")
def initialize(someone)
@someone = someone
end
def render
TEMPLATE.result(self.get_binding { yield })
end
def get_binding
binding
end
end
puts Controller.new("World").render { "I'm Jack" }
# =>
Hello World
I'm Jack
Je trouve la réponse here.
j'ai écrit au sujet d'ajouter ceci à la ERB de bibliothèque standard ici http://hostiledeveloper.com/2015/05/28/working-with-templates-in-ruby-erb.html
Il est étonnamment une douleur dans le cul.
- 1. Cadres dans erb Rails
- 2. Problème avec Rails ERb rendu?
- 3. Ruby on Rails ERB Question
- 4. problème d'expressions régulières dans erb Rails
- 5. Rails AJAX ERB Voir Question link_to_remote
- 6. Comment Rails cède-t-il à plusieurs blocs dans les modèles erb?
- 7. céder itérateur avec réflexion
- 8. Utilisation de rails nommés itinéraires dans les modèles ERB personnalisés
- 9. Comment puis-je échapper à l'étiquette ERB dans ERB
- 10. Rails: Fields_for sans une portée?
- 11. Possibilité d'intégrer la démarque dans erb?
- 12. <% %> (sans égal) en rubis erb signifie?
- 13. Qu'est-ce à l'intérieur d'un modèle de erb [Rails]
- 14. Ruby On Rails ERB Mise en page CSS Question
- 15. Problèmes avec Netbeans re: Rails erb/rhtml intellisense?
- 16. Impression de données dans erb
- 17. céder le contrôle aux SWF enfants
- 18. JSP, peut-il fonctionner de manière similaire à yield, layout, content_for dans Ruby/Rails/Erb
- 19. céder si c'est du contenu, de faire quelque chose autrement (Rails 3)
- 20. Safe ERB Language?
- 21. modifier fichier erb sur le déploiement
- 22. ERB ne s'exécute pas dans les scripts javascript
- 23. Mise en forme automatique des modèles ERB dans textmate
- 24. Paramètres vim dans le fichier erb
- 25. tag ERB dans les link_to_function JavaScript appel
- 26. Restreindre l'accès dans le code ERB
- 27. Rendre le HTML dans les rails sans l'afficher
- 28. Comment exécuter ActionView, ERB :: Util à partir de ./script/console dans Rails 2.0.5
- 29. Dynamiquement ajouter une classe à un div dans un .erb avec Ruby on Rails
- 30. Bibliothèque pour analyser les fichiers ERB
Malgré les votes négatifs, les mises en page et l'héritage de modèle font partie de Rails, et non de ERB lui-même. –