我通常这样写助手:
def bloco_vazio (texto = "", btn = "", args={})
titulo = content_tag :h3, "Vazio!"
p = content_tag :p, texto
content_tag :div, (titulo + tag(:hr) + p + btn ), args
end
但我经常看到人们使用其他方法,例如:
def flash_notice
html = ""
unless flash.empty?
flash.each do |f|
html << "<div class='alert alert-#{f[:type].to_s}'>"
html << "<a class='close' data-dismiss='alert'>×</a>"
html << f[:text].to_s
html << "</div>"
end
end
html
end
or
def a_helper (some_text ="")
%{ <h3>some title</h3>
<p>#{some_text}</p>
}%
end
我过去使用过这两个楦子,遇到了一些问题,然后开始使用 content_tag 和标签助手,即使我仍然必须使用.html_safe
有时的方法。
是否有构建助手的标准方法?
如果 html 长于 1 行,我通常将 html 放在部分中并使用自定义帮助器方法调用它
view
<= display_my_html(@item, {html_class: "active"}) %>
helper
def display_my_html(item, opts={})
name = item.name.upcase
html_class = opts.key?(:html_class) ? opts[:html_class] : "normal"
render "my_html", name: name, html_class: html_class
end
partial
<div class="<%= html_class %>">
<span class="user">
<%= name %>
</span>
</div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)