Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在Rails的输出中去掉多余的行_Ruby On Rails_Views - Fatal编程技术网

Ruby on rails 如何在Rails的输出中去掉多余的行

Ruby on rails 如何在Rails的输出中去掉多余的行,ruby-on-rails,views,Ruby On Rails,Views,我使用Rails2.1从数据库输出表。但是输出包括许多额外的行和选项卡。我使用了一个while循环,其中包含大量嵌套的if语句。我还将所有的非输出行都打包到中。你知道会发生什么吗?有什么解决办法吗?谢谢 注意:我一直试图在代码中粘贴,虽然预览看起来不错,但保存后,格式无法读取 <%- while row_no < total_rows -%> <tr class="<%=h @row_styles[row_no] %>"> <%- @cel

我使用Rails2.1从数据库输出表。但是输出包括许多额外的行和选项卡。我使用了一个while循环,其中包含大量嵌套的if语句。我还将所有的非输出行都打包到中。你知道会发生什么吗?有什么解决办法吗?谢谢

注意:我一直试图在代码中粘贴,虽然预览看起来不错,但保存后,格式无法读取

<%- 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>

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


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

我认为您需要发布一些代码以实现有效的诊断。请将模板缩减为显示问题的小样本


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

将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
s向我建议您的实现可能需要一些工作。您能将其中任何一个组合成单个条件吗?

将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
s向我建议您的实现可能需要一些工作。您能将其中任何一个组合成单个条件吗?

您的代码在ruby中看起来非常不一样。您可以使用
total_rows.times来代替
row_no
并删除
row_no=row_no+1
。如果行号=ce.row\u id
,为什么要检查
@cells.select{| ce | ce.row_id==row_no}。每个do | ce |
看起来更好。使用
if@coll\u styles[ce.column\u id]='
代替
if@coll\u styles[ce.column\u id]。空白?
。第一个
if-else
内部条件
if@col\u styles[ce.column\u id]=''
没有意义。在每种情况下,你都在做同样的事情。如果你能把所有这些
if-else
的东西都放在助手里面,那就更好了。谢谢你的帮助。是的,这更有意义。我很欣赏你的想法。你的代码看起来很不符合ruby的风格。您可以使用
total_rows.times来代替
row_no
并删除
row_no=row_no+1
。如果行号=ce.row\u id
,为什么要检查
@cells.select{| ce | ce.row_id==row_no}。每个do | ce |
看起来更好。使用
if@coll\u styles[ce.column\u id]='
代替
if@coll\u styles[ce.column\u id]。空白?
。第一个
if-else
内部条件
if@col\u styles[ce.column\u id]=''
没有意义。在每种情况下,你都在做同样的事情。如果你能把所有这些
if-else
的东西都放在助手里面,那就更好了。谢谢你的帮助。是的,这更有意义。我很欣赏你的想法。