我想在这个例子中如何帮助
def textForm()
'<div class="form-group">
<%= f.label :nombre, :class => "col-md-3 control-label" %>
<div class="col-md-9">
<%= f.text_field :nombre, :class=> "form-control"%>
</div>
</div>'.html_safe
end
但......当我用&lt;%= textForm%&gt;来调用这个助手时只需打印html语法。 显然我需要做一些“预渲染”。你有什么想法吗?
答案 0 :(得分:1)
<强>部分强>
正如评论中所提到的,您最好使用partial
对此进行排序:
#app/views/controller/_your_partial.html.erb
<div class="form-group">
<%= f.label :nombre, :class => "col-md-3 control-label" %>
<div class="col-md-9">
<%= f.text_field :nombre, :class=> "form-control"%>
</div>
</div>
这将允许您按如下方式调用partial:
<%= render partial: "controller/your_partial" %>
-
<强>辅助强>
如果您想直接从帮助者调用HTML,you should probably look at using the raw
method:
<%= raw textForm %>
然后
#app/helpers/application_helper.rb
def textForm()
'<div class="form-group">
<%= f.label :nombre, :class => "col-md-3 control-label" %>
<div class="col-md-9">
<%= f.text_field :nombre, :class=> "form-control"%>
</div>
</div>'
end