我怎样才能在其他助手里面做帮助?

时间:2014-07-17 05:33:33

标签: ruby-on-rails ruby-on-rails-3.2

我想在这个例子中如何帮助

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语法。 显然我需要做一些“预渲染”。你有什么想法吗?

1 个答案:

答案 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