Я пытаюсь создать вспомогательный метод, который добавляет материал и показывает блок внутри него, например:
def test &block
%{<div>
<div> Example content </div>
<p> #{capture(&block)} </div>
</div>}.html_safe()
end
, когда я вызываю его так
<%= test do %>
**stuff
<% end %>
он работает правильно, но когда мне также нужно вызвать его с контроллера с помощью ERB.new (), и когда я это делаю, я получаю сообщение об ошибке:
вызов:
@result = ERB.new(
%{<%= view_context.test do %>
<div>content to show inside</div>
<% end %>}
).result(binding)
ошибка:
SyntaxError ((erb):2: syntax error, unexpected ')'
ncat(( view_context.test do ).to_s); _erbout.concat "\n
, поэтому мне нужно звонить без " = ", <% test do ...%>, но когда я это так называю, добавляетсясодержимое не отображается
что мне не хватает?