rails:816
From: Hiroshi Takagi <gollum@h...>
Date: Wed, 21 Dec 2005 09:50:56 +0900
Subject: [rails:816] Re: Dynamically Updating a Table w/AJAX
高木宏です。 On Tue, 20 Dec 2005 06:14:06 +0900 "mbaba" <xml@t...> wrote: > 馬場@大阪です > > 専用のCSS を用意して、整形した出力が出るように > > 一行中のカラムごとに class 指定する、というアプローチですか? (snip) > ながくなりますが、CSSでdivやspanを使って表みたいに表示するという例で > 細かい調整はわかりませんが^^; やってみました。 <div id="items"> <%= render(:partial => 'item', :collection => @items) %> </div> とし、 専用CSS を public/stylesheets に定義して、 stylesheet_link_tag でこの使用を宣言し、 _item.rhtml を <div class="linex"> <span class="datax"> <%= item.posted_on.strftime("%H:%M:%S") %> </span> <span class="datay"> <%= h(item.body) %> </span> </div> のように定義することで、見た目テーブルっぽいブロック要素に対して、 動的に、:bottom, :top への新しい行の挿入ができました。 #804 で のりおさんが指摘しているように、 Agile 本のsample script を <table> 対応に若干変更するだけで、 Firefox では <table> の動的変更が難なく実現できます。 わたしの最初のpost(#801)は、IE で動かなかったことで ”<table> は未サポートか?”と誤解したものですから、 そういう意味で、馬場さんが示してくれたものは、 IE でも使える手法として貴重です。 ありがとうございました。 p.s. #802 でmoriq さんが紹介されていたRJS template は、 要素への動的な追加・(全面)置換だけでなく、 DOM 中の複数のID に対して、削除を含めた操作が指定できそうで なかなか魅力です。 伝票明細行に対する、 ・新行追加(:bottom) ・(すでに表示されている)明細行の削除 ・(すでに表示されている)明細行の修正 をacts_as_list とあわせてうまく定義すれば、 汎用パターンとして使いまわせそうな気がしています。 -- Hiroshi Takagi <gollum@h...> -- ML: rails@r... 使い方: http://QuickML.com/ Web Site: http://wiki.fdiary.net/rails/ ML Archives: http://www.fdiary.net/ml/rails/
801 2005-12-18 15:36 [gollum@h... ] Dynamically Updating a Table w/AJAX 802 2005-12-18 16:46 ┣[moriq@m... ] 810 2005-12-19 15:07 ┃┗[gollum@h... ] 803 2005-12-18 17:57 ┣[walf443@g... ] 808 2005-12-19 01:49 ┃┗[gollum@h... ] 804 2005-12-18 18:27 ┣[toykyo@t... ] 807 2005-12-19 01:49 ┃┣[gollum@h... ] 817 2005-12-21 02:03 ┃┗[moriq@m... ] 805 2005-12-19 00:27 ┣[xml@t... ] 812 2005-12-19 15:22 ┃┗[gollum@h... ] 813 2005-12-19 22:14 ┃ ┗[xml@t... ] -> 816 2005-12-21 01:50 ┃ ┗[gollum@h... ] 815 2005-12-21 00:53 ┗[moriq@m... ] 818 2005-12-21 02:31 ┗[gollum@h... ] 850 2006-01-04 09:01 ┗[yoshi@o... ] 851 2006-01-04 15:06 ┗[moriq@m... ] 852 2006-01-04 15:56 ┗[moriq@m... ] 859 2006-01-06 05:14 ┗[yoshi@o... ]