0

各属性がインライン編集可能な「人」のテーブルを作成したいと考えています。約 500 人がおり、リストは時間の経過とともに増えていきます。people#index ページには、このリストが含まれています。

フォーム要素が多いため、サーバーがページをレンダリングするのに時間がかかります。ホストに使用しているサーバーもかなり遅いので、これらのテーブルのレンダリングを Javascript で行うことを考えました。

現在、すべての人の属性の JSON データを返す新しいアクションを作成し、Rails を使用して行のテンプレートのみを生成しています。次に、jQuery を使用してそのテンプレートを複製し、JSON データの各属性を新しいコピーに挿入して、それを行に追加します。

これにより、 people#index の読み込みが大幅に高速化されますが、読み込み中に Javascript がページを一瞬フリーズさせるという問題に遭遇しました。

この作業を行うためのスレッドを作成するために、Web ワーカーを調べました。別のスレッドで余分な行を生成してから、テーブルに追加する予定です (dataTables を使用しています)。

何かが欠けているような気がします。これがずさんな解決策であること。

私の質問は、これに対するより良いアプローチはありますか?

4

1 に答える 1

0

可能なオプション:

1 ページネーション この場合、ページネーションが最適なソリューションです。ページネーションは Rails 側 ( https://github.com/mislav/will_paginatehttps://github.com/amatsuda/kaminari gems ) または js 側で行うことができます。

2 http://trirand.com/blog/jqgrid/jqgrid.htmlのようなものを使用することもできます。この JS コンポーネントは、データをインライン編集する機能も提供し、 https://github.com/allen13 のような Rails 統合 gem を検索できます。 /rails-asset-jqgrid

于 2013-07-04T22:07:07.113 に答える