2013-10-08 2 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 требует, чтобы параметр использовался как именованный доход. Вместо этого попробуйте добавить урожай (: название). Это сделает Пример в примере выше. – jewilmeer

0

Может быть, вы могли бы разместить свой общий код в помощнике?

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

После этого title помощника может быть использован либо в первичном зрении или частичный. Обратите внимание, что вычисление переменной будет выполняться только один раз из-за ||=.

 Смежные вопросы

  • Нет связанных вопросов^_^