2013-04-11jQuery内からRailsのActionを叩くsellRails,AjaxJQueryとの連携方法でいつもとまどう点をまとめとこう。いうよりも、jQueryからRailsのアクションを呼ぶ方法。初心者にはなかなか流れが掴みにくいです。用途は限定されるかもしれないですが、たとえばselectの変更をjQueryで検知したときに、RailsでActionを叩いてsessionの値を書き換えるときなどは次のようにする。value="2014">2014</option></select>例えば上のようなviewがあったとします。#year_selectの変更を検知するjQueryが下記。Ajax通信するための構文。通信先のURLを指定。通信先に渡すパラメータ。慣れないとわかりにくいけど、通信後、戻り値がfunction(data)として渡されます。このdataをいじくってテンプレートを書き換えるというのが王道の使い方だと思いますが、ここではテンプレートはいじりません。いうURLでルーティングを設定します。"projects/change_session_year"次、要注意です。これを忘れたがために嵌って時間ロスるすことがよくあります。忘れずに設置してください!中身は空でいいと思います。$.ajaxで通信した際、このテンプレートが無いとエラーが返ってしまいます。普通のRailsの処理であれば、恐らく、missing_tamplateエラーが出るのですぐにわかるんだけど、Ajaxの場合は何も言わず失敗するので、気づくのに時間がかかるんです。後は、projectsコントローラーにchange_session_yearアクションメソッドを用意して、好きなように処理を入れればOKです。end肝は4)のテンプレートを忘れないかどうか、じゃないでしょうか。