2012-09-15 39 views
1

我想知道是否有一种方法来将一个ruby变量返回到一个带有sinatra的haml文件中。对于examply返回一个变量到HAML

HAML:

%b 
    = variable 

红宝石

get '/' do 
    variable = "foobar" 
    haml :filename 
end 

,然后有

foobar的引入haml文件返回

回答

4

只需设置它作为一个实例变量。

get '/' do 
    @variable = "foobar" 
    haml :filename 
end 

而且你HAML:

[email protected] 
+0

小时的谷歌搜索和通过API的倾吐,你会认为这将是一个地方。万分感谢! – OneChillDude

2

可以在当地人的哈希值传递到您的模板:

get '/local' do 
    haml :filename, :locals => {:variable => "foobar"} 
end 
在你的模板

现在,variable将与值的变量"foobar"

可行的替代方案可能是使用一个辅助方法:

helpers do 
    def variable 
    "foobar" 
    end 
end 

现在在你的模板variable将是一个(严重命名)方法返回"foobar"

+0

我认为这是一个美丽的名字。感谢您的回答,非常有帮助。 – OneChillDude