Padrino中的Liquid模板无法获得实例变量

时间:2014-04-18 09:03:34

标签: ruby sinatra liquid padrino

我尝试将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。

1 个答案:

答案 0 :(得分:1)

Liquid不允许将Ruby代码作为模板的一部分进行评估,其中包括访问实例变量。您可以通过哈希设置本地:

render 'main/index', :locals => { :name => 'foo' }
然后

foo将在模板中提供。