Я пытаюсь создать пользовательский блок с помощью жидких шаблонов. Ниже приведен мой код:
module MyModule
module Blocks
class MyBlock < Liquid::Block
def initialize(tag, markup, tokens)
super
@tag = tag
@tokens = tokens
@markup = markup
end
def render(context)
p @tokens
end
end
end
end
Liquid::Template.register_tag('myblock', MyModule::Blocks::MyBlock)
И в моем шаблоне у меня есть следующий код:
{% for i in mypages %}
{% myblock %} {{ i.title }} {% endmyblock %}
{% endfor %}
Мой вопрос в том, как мне получить весь контент, который передается между тегами myblock
. то есть, как мне сделать i.title
доступным для myblock
функции render
. Я думал, что tokens
записывает это, но когда я puts tokens
выводит []
Благодарю вас
{% myblock %}....
из циклаfor
и поместите его прямо в сообщение/страницу со статическим значением:{% myblock %} this is my block {% endmyblock %}
. Таким образом, вы точно знаете, чего следует ожидать. - person tamouse   schedule 28.10.2013