2013-10-08 73 views
1

我在里面创建了一个带有变量的布局。外部Haml变量

layout.haml:

- title = "Example" 
%title #{title} 

它完美的作品,并给了我这个:

<title>Example</title> 

但是,如果我把这个变量的部分,这是行不通的

_vars.haml:

- title = "Example" 

layout.haml:

=partial "vars" 
%title #{title} 

如何定义外部文档上的所有变量并使其工作?

感谢您的帮助

+0

你试图做什么?翻译成其他语言?使用I18n。 –

+0

这是一个模板。我想将所有字符串保存在外部文档中,因此我只需要将其替换一次即可。 –

+0

我找到了解决方案,我必须使用全局变量在变量前面添加“$”...谢谢大家的帮助 –

回答

1

您可能正在寻找内容:

layout.html.haml:

%title= yield(:title) 

_my_partial.html.haml:

- content_for(:title) do 
    Example 
+0

如果我键入= yield,它会带给我所有的html内容,因为它是一个模板。感谢您的帮助:) –

+0

收益率需要一个参数作为命名收益。尝试添加yield(:title)。这将在上面的示例中呈现示例。 – jewilmeer

0

也许你可以把你的共享代码放在助手中?

# application_helper.rb 
def title 
    @title ||= 'Example' 
end 

之后title帮手可以在主视图或部分使用。请注意,由于||=,变量的计算仅执行一次。