我有一个 Web 项目,它将呈现基于各种 .erb 文件的 HTML 文件。我不确定执行此操作的最佳方法,因为每个 .erb 文件都需要获取特定信息,例如 cookie 内容。
目前我已经使用了这个概念:
我有一个包含所有 .erb 文件的目录,这些文件使用以下方式呈现:
ERB.new(模板).result
渲染的 HTML 将返回到主 .erb 模板,该模板将再次由 sinatra 渲染,使用:
erb:主要
结果非常好,但我没有机会从基于会话的 cookie 中包含内容,因为 .erb 无法访问它们
我很确定,sinatra 框架提供了一种更好的方法来做到这一点。一个好办法是...
require 'sinatra'
enable :sessions
get "/" do
content1 = erb :template1, :locals => { :cookie => session[:cookie] }
content2 = erb :template2, :locals => { :cookie => session[:cookie] }
erb :mainTemplate, :locals => { :content => [content1, content2] }
end
...但是,不幸的是,它并没有那么容易:(
有人有更好的主意吗?