如何摆脱Rails输出中的额外行

时间:2010-04-09 14:55:23

标签: ruby-on-rails views

我正在使用Rails 2.1从数据库输出表。但输出包括许多额外的行和标签。我正在使用带有大量嵌套if语句的while循环。我还将所有非输出行包装在<% - code - %>中。知道可能发生的事情和解决方案吗?谢谢,

注意:我一直试图粘贴代码,虽然预览看起来不错,但在保存时,格式化是不可读的....

<%- while row_no < total_rows  -%>
 <tr class="<%=h @row_styles[row_no] %>">
  <%- @cells.each do |ce| -%>           
   <%- if row_no == ce.row_id -%> 
    <%- if @col_styles[ce.column_id] == '' -%>
     <%- if ce.additional_info.blank? -%>
      <td><%= ce.content %></td>

2 个答案:

答案 0 :(得分:1)

将连续的Ruby行合并到一个代码块中会有很大帮助:

<%- while row_no < total_rows  -%>
 <tr class="<%=h @row_styles[row_no] %>">
  <%- @cells.each do |ce|
        if row_no == ce.row_id
          if @col_styles[ce.column_id] == ''
            if ce.additional_info.blank? -%>
   <td><%= ce.content %></td>

此外,所有嵌套的if向我建议您的实现可以使用一些工作。你能将这些中的任何一个组合成单个条件吗?

答案 1 :(得分:0)

我认为您需要发布一些代码才能进行有效的诊断。请将模板缩小为显示问题的小样本。

我确定您看到的生成的空白来自tge <%- -%> - 标签之外的文本。对于低技术方法,尝试在当前空白处添加可见字符,并查看它在输出中的再现方式。