在帮助器中混合代码HTML

时间:2014-12-08 03:28:47

标签: ruby-on-rails ruby

以下是有效的,但是当我看到其他人使用的一些简化的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 << '&nbsp;'
        end

        s << "</td>"
      end
      s << "</tr>"  
    end
    s << "</table>"
    s.html_safe
  end
end

1 个答案:

答案 0 :(得分:1)

简单的答案是从帮助程序中删除所有代码并将其放入部分代码中。

选择HTML输出的代码通常嵌入到HTML中。帮助程序用于运行更复杂的代码,例如查询和准备要显示给用户的数据。