よーしAjaxを使っちゃうぞ。

Ajaxでサーバと通信をしたい場合、該当のページに

<%= form_remote_tag(:update => "results", :url => {:action => :search}) %>
  <p>
    <%= text_field_tag(:title) %>
    <%= submit_tag('検索') %>
  </p>
<%= end_form_tag %>

<div id="results">
</div>

こんな感じのを追加する。ここでは検索処理をAjaxでやってやろうという寸法。
form_remote_tagの:updateは結果を返すHTMLタグのIDを指定し、:urlではsubmitされた際のアクションを指定する。
続いてAjaxのライブラリをロードするようにapp/views/layouts/application.rhtmlのタグ内に

<%= javascript_include_tag('prototype') %>

を追加する。
それでもって、後はform_remote_tagで指定したアクションを実装して終わり。
javascriptがたいそう苦手な私には非常にありがたい、またもやテレビショッピングの外人が登場だ。


はじめよう Ruby on Rails

はじめよう Ruby on Rails