prototype.js の Ajax.* method

http://d.hatena.ne.jp/yssk22/20080101#1199119523 に関連して。

new Ajax.Updater("hoge", url)

Rails 2.0環境のデフォルトセッションストア(Cookie)で動作しなくなる。具体的には ActionController::InvalidAuthenticityToken が発生する。

というわけで、次のように送る。

auth_token = <%= form_authenticity_token.to_json %>;
new Ajax.Updater("hoge", url, {
  parameters: "authenticity_token=" + encodeURIComponent(auth_token)
});