Rails 3.2.6を使用してアプリケーションを構築していますが、一定の時間間隔が経過すると、ページの一部が自動的にリロードされる機能を作成したいと考えています。これは私がしたことです:
リロードされたコンテンツがあるはずの_hottest_beepというパーシャルを作成しました
私はメインページのパーシャルをそのように呼びました
<div class="update_beep"> <%=render :partial=>"hottest_beeps"%> </div>
main.js.erbファイルを作成しました
$(".update_beep").html("<%= escape_javascript(render("hottest_beeps"))%>")
メインページにリンクを追加しました。そのリンクをクリックすると、部分的に自動的にリロードされます。
<span ><%=link_to'View',{:controller=>'users',:action=>'main'},:remote=>true,:class=>'auto_click'%> </span> <div class="update_beep"> <%=render :partial=>"hottest_beeps"%> </div>
auto_click
次に、1秒ごとに自動的にクリックするJavaScriptファイルを作成しましたvar fsecs = 1000; function feedTimer1() { if (fsecs == 0) { $('.auto_click').click(); fsecs =1000; self.status = fsecs ftimerRunning = true ftimerID = self.setTimeout("feedTimer1()") } else { self.status = fsecs fsecs = fsecs - 1 ftimerRunning = true ftimerID = self.setTimeout("feedTimer1()") } } window.onload = feedTimer1();
しかし、クリックすら機能しないようです。ページをロードしても部分は同じままですが、リンクをクリックすると自分自身が機能します。
注:application.html.erbファイルのauto_click.jsファイルも呼び出して、ページにロードする必要があります