Redmine修改了发行号

时间:2013-07-04 12:23:48

标签: ruby ruby-on-rails-3 redmine

我想在问题列表中隐藏问题编号。 我使用“Redmine 2.3.1”和文件来实现这个文件:./app/views/issues/_list.html.erb

它包含以下行:

<%= raw query.inline_columns.map {|column| "<td class=\"#{column.css_classes}\">#{column_content(column, issue)}</td>"}.join%>

数组query.inline_columns包含例如id。我想修改这个数组可以帮助我解决我的问题,但是没有保存更改。

这就是我的尝试:

<%= @query.inline_columns.inspect %>
=> [#<QueryColumn:0x00000003607928 @name=:id ... and so on>]
<% @query.inline_columns.delete_at(0) %> 
=>
<%= @query.inline_columns.inspect %>
=> [#<QueryColumn:0x00000003607928 @name=:id ... and so on>]

为什么delete_at无用?我将如何修改此数组或隐藏数字?

2 个答案:

答案 0 :(得分:0)

有几点需要注意:

@query.inline_columns可能不是数组。它可能像Array一样嘎嘎叫,但事实并非如此。

@query.inline_columns.delete_at(0)本应返回一些内容。它回来了,你有没有?

最后,但并非最不重要的是,我可能做出的最可能的猜测:

@query.inline_columns获取内容,将其转换为数组并在返回之前复制它。你能做到这一点的唯一方法是:

some_columns = @query.inline_columns
some_columns.delete_at(0)
some_columns

答案 1 :(得分:0)

这是我现在的解决方案:

<% if @project.id == 1 %>
  <% @qcols =  query.inline_columns.reject{ |col| col.name.to_s == 'id' } %>
<% else %>
  <% @qcols =  query.inline_columns.each %>
<% end %>

所以我利用了拒绝方法。然后我使用@qcols。

代表OP发表。