Được cố gắng tìm ra điều tương tự và không tìm thấy nhiều mà đã được đáp ứng khác vì sử dụng Tilt gem, mà kết thúc tốt đẹp ERB và hệ thống khuôn mẫu khác và hỗ trợ thông qua các khối (aka, kết quả của một riêng biệt làm gọi) có thể đẹp hơn một chút.
Nhìn vào lúc: 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>
Sau đó, trong cuộc gọi ruby của bạn
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
Nó sẽ áp dụng các kết quả của other_template
vào cơ thể yield
.
Nguồn
2017-09-14 18:43:25
Bản sao có thể có của http://stackoverflow.com/a/2467313/772874 Bạn cần 'ActionView' cho điều đó. –