以下是有效的,但是当我看到其他人使用的一些简化的Ruby代码时,它看起来非常笨拙。
这是在帮助器中混合使用Ruby和HTML时编码的正确方法吗?
def display_children(children)
if children.count == 0
"<p>No child records exist</p>".html_safe
else
s = ""
s << "<table class='table table-bordered text-center'>"
children.in_groups_of(4) do |row_children|
s << "<tr>"
row_children.each do |child|
s << "<td class='col-md-3'>"
if child
s << link_to(child.name, child)
else
s << ' '
end
s << "</td>"
end
s << "</tr>"
end
s << "</table>"
s.html_safe
end
end
答案 0 :(得分:1)
简单的答案是从帮助程序中删除所有代码并将其放入部分代码中。
选择HTML输出的代码通常嵌入到HTML中。帮助程序用于运行更复杂的代码,例如查询和准备要显示给用户的数据。