2011-07-14 7 views
0

私はrails 2.3を使用しています。私はページの読み込みを高速化するために、ajaxを使っていくつかの遅いクエリを含むページの一部をロードしたい。例レールでの読み込みを高速化するために、遅いページの部分をajaxで読み込む方法

私はその応答のdivに入れているwiths IDS「カウント・プロジェクト」と「いくつかの-もの」は、2件のAjaxリクエストが、そこにあるように、上記のコードを書き換えたい
<div id="count-projects"><%= Project.count%></div> 
... 
<div id="some-stuff"><%= User.count %> users and <%= Book.count%> books</div> 

答えて

0

私はそれがそうようにjQueryのAJAXと負荷の関数を使用して解決しました要素#some_idと#some-other-idの内部HTMLです。

1

まず、あなたは」たとえば、あなたがURLを経由して、それを要求するJSON配列

[ 
    {"name":"first project", "href":"abc.php"}, 
    {"name": "second project", "href":"def.php"} 
] 

を返すサーバーサイドスクリプトを作成する必要があり、D(?アクション= getProjectsは、良い名前になります)。それからjQueryを使ってリクエストすることをお勧めします。これは、その後(ルビーによりデータベースから作成)サーバからJSONデータを取得し、あなたがあなたの特定のソリューションのために必要な各プロジェクトなどへのリンクのリストを作成し、次のコード

$.getJSON(url, {action:'getProject'}, function(json){ 
    $.each(json, function(i, project) { 
     $('div#count-projects').append('<a href="' + project.href + '">' + project.name + '</a>'); 
    }); 
}); 

を使用することができますでしょう。

jQuery.ajax({url: "/controller/action_1", 
      success: function(data){ 
      jQuery("#some_id").html(data); 
      }}); 
jQuery("#some-other-id").load("/controller/action_2"); 

、パーシャルビュー/コントローラ/ action_1.html.hamlおよびビュー/コントローラ/ action_2.html.hamlを生成するために使用した:

関連する問題