根据查询使特定行加粗

时间:2012-12-13 22:01:39

标签: html ruby redmine

我有一个.html.erb文件,用于在网站上显示表单。 (Redmine

我需要将特定行加粗。当跟踪器==异常时,该行必须为粗体。

Sample of redmine

<% if query.columns == Anomaly>
  make the text bold

但我认为我的逻辑错误。我怎样才能实现我的想法?

我知道在以下代码中处理ruby行的内容。但我不知道如何根据查询使行变粗。 当前代码

<style>
.bolding {font-weight: bold;}
</style>

<tr id="issue-<%= issue.id %>" class="bolding hascontextmenu 
<%= cycle('odd', 'even') %> 

<%= issue.css_classes %> <%= level > 0 ? "idnt idnt-#{level}" : nil %>">

<td class="checkbox hide-when-print"><%= check_box_tag("ids[]", issue.id, false, :id => nil) %></td>

<td class="id"><%= link_to issue.id, :controller => 'issues', :action => 'show', :id => issue %></td>

<% query.columns.each do |column| %><%= content_tag 'td', column_content(column, issue), :class => column.css_classes %><% end %>

</tr>

2 个答案:

答案 0 :(得分:2)

如果您清楚地提出问题,并且提供所有相关细节,您可以避免所有混淆。正如@iain所提到的,query不是来自Rails,而是来自Redmine。 你应该提到你在问题中使用Redmine

也就是说,看起来querythis class合作。

column中的每个query.columns都有name属性和value()方法(以及其他内容)

您可以在column集合中检查query.columns value"Anomoly" name之类的"Tracker"之一。

query.columns.any? { |c| c.name.downcase == "tracker" && c.value(issue) == "Anomoly" }

您需要获取此值的返回值才能有条件地将bolding类应用于表格行。

<%= apply_bolding = query.columns.any? { |c| c.name.downcase == "tracker" && c.value(issue) == "Anomoly" } %>
<tr id="issue-<%= issue.id %>" class="<%= apply_bolding ? "bolding" : nil %> hascontextmenu <%= cycle('odd', 'even') %> 

答案 1 :(得分:0)

这是正确的方法

<tr id="issue-<%= issue.id %>" class="hascontextmenu <%= cycle('odd', 'even') %> <%= issue.css_classes %> <%= level > 0 ? "idnt idnt-#{level}" : nil %>" 
  <% if issue.tracker_id == 12 %> style="font-weight:bold" <% end %>
>

    <td class="checkbox hide-when-print"><%= check_box_tag("ids[]", issue.id, false, :id => nil) %></td>
    <td class="id"><%= link_to issue.id, :controller => 'issues', :action => 'show', :id => issue %></td>
        <% query.columns.each do |column| %><%= content_tag 'td', column_content(column, issue), :class => column.css_classes %><% end %>

</tr>