イベントハンドラからrailsのAjaxアクションを呼び出す
RTMの設定みたいに、ラジオボタンをポチポチ押したらrailsのAjaxアクションが実行されるコードを書いていて思ったこと。
イベントハンドラから、JavaScript関数ではなくrailsのAjaxアクションを呼び出したい場合には、remote_function メソッドを使います。
例えばこんな感じ。
<input type="radio" id="hoge" value="" onclick="<%= remote_function(:update => "fuga", :url => {:action => "piyo"}) %>" />
でも個人的には、inputタグもrailsのヘルパで書きたくて、こうしました。
<%= radio_button_tag "hoge", "", false, :onclick => "#{remote_function(:update => "fuga", :url => {:action => "piyo"})}" %>
ただ、railsのソースコード読んでも、RailsによるアジャイルWebアプリケーション開発(第2版)読んでも、サンプルは前者の書き方なんですね。
どちらの方がいい、とかあるんでしょうか。