①link_to_remote
Railsで最も一般的な方法。
<%= link_to_remote( "click", :update => "target", :url =>{ :action => :update }) %>
なタグをrhtmlに入れておくとサーバ側でsay_whenアクションが呼ばれ、アクション内で、
render xxxx
とかすると、targetというID属性の中身がxxxに置き換わる。
んー、でも大体連携する時って、画面側から何かしらパラメータを渡す必要がある時がほとんどだから、このタグはあまり使わないかも。
②form_remote_tag
link_to_remoteと違って、FormのデータをXMLHttpRequestを使って送信する。
<%= form_remote_tag(:update => "target", :url => { :action => :update}%>
Formが丸ごと、Ajax連携というのなら良いけど、Formのとある項目のみAjax連携対象とかだと微妙だ。てか、Ajax使う場合ほとんど後者の方が多いんじゃないかと思う。
③Observers
これは①、②と違ってフィールドの値の監視をし、値が変化したときに、Ajaxで通信する。
<%= observe_field(:target_field, :frequency => 0.25, :update => :target, :url => { :action => :update}) %>
frequencyの設定内容が監視間隔。まぁ実運用上間隔の設定で判断するのも良いけど、onChangeみたいにEventを登録できると良いのに。