在视图助手中给定块之后渲染内容

时间:2016-04-08 15:00:25

标签: ruby-on-rails

我有一个视图辅助方法,它采用一个块。渲染该块没有问题,但是当我尝试在渲染块后添加内容时,它不起作用。

content_for

上面的代码只会生成块并跳过其他内容。我还尝试过:captureconcatwith_output_buffer<?xml version="1.0" encoding="UTF-8"?> <?eclipse version="3.4"?> <plugin> <extension point="org.eclipse.ui.commands"> <command categoryId="fr.comp.app.category" defaultHandler="fr.comp.common.styles.impl.DefaultStyle" id="fr.comp.common.styles.defaultStyle" name="Default Style"> <state class="org.eclipse.ui.handlers.RadioState" id="org.eclipse.ui.commands.radioState"> </state> </command> <command categoryId="fr.comp.app.category" defaultHandler="fr.comp.common.styles.impl.SepiaStyle" id="fr.comp.common.styles.SepiaStyle" name="Print Style"> <state class="org.eclipse.ui.handlers.RadioState" id="org.eclipse.ui.commands.radioState"> </state> </command> </extension> <extension point="org.eclipse.ui.bindings"> <key commandId="fr.comp.common.styles.defaultStyle" contextId="org.eclipse.ui.contexts.window" schemeId="fr.comp.app.scheme" sequence="F1"> </key> <key commandId="fr.comp.common.styles.SepiaStyle" contextId="org.eclipse.ui.contexts.window" schemeId="fr.comp.app.scheme" sequence="F6"> </key> </extension> <extension point="org.eclipse.ui.menus"> <menuContribution allPopups="false" locationURI="toolbar:org.eclipse.ui.main.toolbar"> <toolbar id="fr.comp.app.style.toolbar"> <command commandId="fr.comp.common.styles.defaultStyle" icon="resources/default.png" style="radio"> </command> <command commandId="fr.comp.common.styles.SepiaStyle" icon="resources/sepia.png" style="radio"> </command> </toolbar> </menuContribution> </extension> </plugin> 但没有成功。正如您所注意到的,我并不真正理解这些方法是如何工作的......但我的问题是:如何在呈现给定块之后呈现某些内容。谢谢!

1 个答案:

答案 0 :(得分:2)

如果查看content_tag定义,您会看到它只输出一个标记,一个类和一个内容。您正试图将其删除多个内容,因此您需要加入这些内容。

def validation_div(&block)
  content = capture(&block)
  content_tag :div do
    content + content_tag(:div , "This content is never rendered!")
  end
end