0

版本 2.3.4

假设,我有一个items包含一些字段的表,例如:id, name, something, created_at, updated_at, is_dirty. 我正在使用活动脚手架从中显示一个 HTML 表格。

class ItemsController < ApplicationController
  layout 'application'
  active_scaffold :item do |c|
    c.columns = [ :id, :name, :something ]
    c.show.columns.add [ :is_dirty, :created_at, :updated_at]
    c.list.per_page = 20
    list.sorting = {:created_at => 'DESC'}
  end
  # ...
end

我有一个由另一个控制器驱动的导入功能。导入后,受影响的行的is_dirty字段将变为true,其他的is_dirty值保持与之前相同。

在项目列表中,我想使用一些令人讨厌的颜色(例如黄色或粉红色)突出显示一些行is_dirty,其字段为true. 我在整个网络上搜索,我发现只有字段覆盖。我对基于 RJS 的解决方案不感兴趣,因为与要完成的任务相比,开销太大了。

欢迎和赞赏任何提示,但我更喜欢不基于复制和修改框架文件的解决方案的答案(但我仍然对它们感兴趣)。例如,具有良好的覆盖名称/配置项将非常好。

4

1 回答 1

2

引发事件时,您可以在行中添加 css 类吗?此导入是通过 AJAX 调用运行还是在加载 DOM 之前完成?如果它在加载 DOM 之前运行,我个人会在一些包含的 js 文件中添加一些 jQuery:

$(document).ready(function() { 
    $('tr').filter(function() { 
        return $(this).attr('is_dirty'); 
    }).addClass('ugly_yellow'); 
}); 

如果导入通过 AJAX 调用运行,您可以将类似的代码添加到处理程序。

如果你不使用 jQuery,我相信你可以在 Prototype 中做类似的事情,但我更喜欢 jQuery 并建议每个人至少尝试一下 :)

于 2010-10-25T15:21:55.787 回答