rails:2929
From: Shin Morichika <ofl@c...>
Date: Fri, 5 Dec 2008 08:48:52 +0900
Subject: [rails:2929] Re: 部分テンプレートを使っている場合のRJSでの書き換え方法
Rails 2.X系で部分テンプレートが_zip.html.erb その内容が <% for zip in @zips -%> <tr> <td><%=h zip.xxx %></td>....... </tr> <% end -%> といった内容と推測してお返事します。 この場合部分テンプレートにインスタンス変数@zipsが使われて いるのであれば、 replace_htmlの引数で特に@zipsの値を渡してあげる必要は無い かと思います。 なので page.replace_html "zip", :partial => "zip" という書き方になるのではないでしょうか。 もし部分テンプレートがインスタンス変数ではなくローカル変数で <% for zip in zips -%> ....... <% end -%> といった形であれば、 page.replace_html "zip", :partial => "zip", :locals => {:zips => @zips} となると思います。 それと <table> <span id='zip'><% render :partial=>@zips %></span> </table> の部分はHTML的には好ましくないので(インライン要素の中にブ ロック要素 が入る)単に <table id='zip'> </table> とした方がいいかと思います。 -- 森近 真 uy4s-mrck@a... On 2008/12/04, at 11:20, suna wrote: > 最近Ajax on Railsを見ながらRJSを始めたものです。 > > 検索ボタンを押したら該当する郵便番号を表示させたいのですが、 > render :partialの内容を > 更新する方法がわからず、はまっています。 > page['zip'].replace_html で書き換えは可能なのです > が、:partialの部分をどうすればいい > かがわかりません。 > どのようにすればいいのか教えていただけると有り難いです。 > よろしくお願いします。 > > −−−−−−−−−−− > <h1>郵便番号一覧</h1> > <div id="in_menu"> > <%= link_to 'New zip', new_zip_path %> > </div> > <div id="search_form"> > <%= text_field_tag(:search) %> > <%= submit_to_remote 'submit', '検索', > :url => {:action => 'search_rjs'}, > :with => "'search='+$F('search')"%> > </div> > <table> > <span id='zip'><% render :partial=>@zips %></span> > </table> > > > −−−−−−−−−−−−−−−−−−−−−−− > search = params[:search] > @zips = Zip.address_to_zip(search,100) > page['zip'].replace_html @zips, :partial => :zip > > -- > ML: rails@r... > 使い方: http://QuickML.com/ > -- ML: rails@r... 使い方: http://QuickML.com/
2926 2008-12-04 03:20 [suna4903@g... ] 部分テンプレートを使っている場合のRJSでの書き換え方法 -> 2929 2008-12-05 00:48 ┗[ofl@c... ] 2933 2008-12-05 15:06 ┗[suna4903@g... ]