a essayé de trouver la même chose et n'a pas trouvé beaucoup qui était satisfaisant autre que d'utiliser le Tilt gem, qui enveloppe ERB et d'autres systèmes de matriçage et prend en charge les blocs passant (aka, les résultats d'un séparé rendent appel) qui peut être un peu plus agréable.
Vu sur: https://code.tutsplus.com/tutorials/ruby-for-newbies-the-tilt-gem--net-20027
layout.erb
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title><%= title %></title>
</head>
<body>
<%= yield %>
</body>
</html>
Puis dans votre appel rubis
template = Tilt::ERBTemplate.new("layout.erb")
File.open "other_template.html" do |file|
file.write template.render(context) {
Tilt::ERBTemplate.new("other_template.erb").render
}
end
Il appliquera les résultats de l'other_template
dans le corps yield
.
Copie possible de http://stackoverflow.com/a/2467313/772874 Vous avez besoin de 'ActionView' pour cela. –