我尝试将ramaze应用转换为padrino(0.12.1) 我当前的问题是padrino / sinatra控制器中的实例变量无法通过液体模板读取。
controllers / main.rb
Myproject::App.controllers :main do get :index, :map => '/' do @name = 'foo' render 'main/index' end
视图/布局/ application.liquid
...html code here... Testing {{ content }} ...html code here...
视图/布局/ main.liquid
Hello {{ name }}
结果应为
“测试你好foo”,但我只得到“测试你好”。
有任何线索吗? TNX。
答案 0 :(得分:1)
Liquid不允许将Ruby代码作为模板的一部分进行评估,其中包括访问实例变量。您可以通过哈希设置本地:
render 'main/index', :locals => { :name => 'foo' }
然后 foo
将在模板中提供。