我有一个.html.erb文件,用于在网站上显示表单。 (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>
答案 0 :(得分:2)
如果您清楚地提出问题,并且提供所有相关细节,您可以避免所有混淆。正如@iain所提到的,query
不是来自Rails,而是来自Redmine。 你应该提到你在问题中使用Redmine 。
也就是说,看起来query
与this 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>