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. Web 全体を検索したところ、フィールドのオーバーライドしか見つかりませんでした。達成すべきタスクに比べてばかげたオーバーヘッドがあるため、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 に答える