APIとしてのRailsとクライアントとしてのJavaScriptにも掲載しています。あるAjaxを利用したページの例Sedndagaya.rbというグループへ投稿出来るサイトがあるとします。この時、グループのページにアクセスすると、グループの詳細情報と、グループへ投稿された記事が表示されます。このとき、大きく分けて3つの描写が行われます。非同期のリクエストに対するレスポンスの描写DOM要素のイベントに対するレスポンスの描写その時の流れは以下のようになります。エンドユーザーがあるURIをブラウザ経由でアクセスする。GETリクエストを送信してアクセスする。Webサーバー(アプリケーション・サーバー)が対応するHTMLを返す。対応するリソースを返す。ブラウザがHTMLをレンダリングする。これが1つ目の通常のリクエストに対するレスポンスの描写となる。この時、グループに投稿された記事を非同期に取得する。非同期に取得した記事は以下のように、インジケーターが表示されている部分へ差し込まれる。実行されるようにしておく。GETリクエストを送信し、その結果をHTML内の特定のDOM要素へ差し込む。他にもレンダリングされたHTMLに含まれるUIにイベントを付与する。いうボタンをクリックすると以下のように投稿フォームを表示する。?先の例では、GETリクエストによるリソースの取得のみを行いました。以下のようにグループへ記事を投稿する処理も考えてみましょう。いうボタンをクリックするとグループに紐付いた投稿を作成する。javascriptにより実行される。以下のURIはRESTfulの指向で考えると統一されたインターフェースから導けば良いので、簡単に定義可能です。ここで言う統一されたインターフェースとはRailsにおけるRESTfulです。どこにどのように書くかが大事です。非同期のHTTPリクエストを行いたい特定のDOM要素のイベントをハンドリングしたいといった要件は、通常URIごとに異なります。その時に、現在ブラウザが指し示しているURIでは関係ないJavaScriptが全て同じ所に記載されているのはメンテナスがしづらいです。イベントの検索ページで使います。グループページで使います。制御に利用するclass名やid名を追加したり削除したりすると悲惨デザイナーさんとの協業時に発生しそうです。attributeを利用することで回避できそうです。HTML内にdata-xxxxが溢れることになります。プラグインを書きましたという記事が良いです。この中に出てくるjQuery-Routerの例を示します。実行されるかが分かりやすくなりました。ネストが深くなるので、Classで分けるなどの工夫をすると良いですね。参照できるようにしたバージョンは、jQuery-Routerからどうぞ。散らばり見通しが悪くなるので、あまりおすすめしません。JavaScriptのMVCの利用backbone.jsspine.jsなどが有名どころです。どのDOM要素で何をするかを管理する詳しくは、qiitaのbackbone.jsでの検索結果を確認しましょう。APIとしてのRailsとクライアントとしてのJavaScriptとの関係をどう記載するのかが重要となってきています。その際、通常のHTTPリクエストと非同期HTTPリクエストを同じ統一インターフェースであるRESTfulな設計で管理すると一貫性が出て開発効率の向上につながると考えています。#14Sendagaya.rbの#14を開催しました。#13Sendagaya.rbの#13を開催しました。10注目記事-->引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。