1

私は非常に新しいレールです。さらにAjaxを使うのは新しいものです。ここまでは、js.erbの部分をレンダリングしてショーリンクをクリックすると、divを更新するための簡単なajax呼び出しを得ることに成功しました。参考資料私はRails 3.1を使用しています。事のこのタイプは、私にとっては何の問題も働きません:js.erbファイルをindex.html.erbで読み込んでdivを読み込もうとしています

マイリンク:コントローラで

<td><%= link_to "Show", widget, :remote => true %></td> 

:で

def show 
    @widget = Widget.find(params[:id]) 
    respond_to do |format| 
     format.html { redirect_to @widget } 
     format.js 
    end 
    end 
show.js.erbで

$("#myDiv").html("<%= escape_javascript(render('widget_detail')) %>") 

_widget_detail.html.erb

<div id="myDiv"> 
<p> 
    <strong>Address:</strong> 
    <%= @widget.address %> 
</p> 
</div>  

私が今問題を抱えている問題は、index.html.erbによってレンダリングされるサイトのセクションがあることです。私はindex.html.erbをajax呼び出しでリフレッシュする方法を理解できません。私が知る必要があるいくつかの他のJavaスクリプトがなければならないと思います。

$("#content").html("<%= escape_javascript(render('index')) %>") 

私はそれは私が別の部分にするとちょうど私のindex.html.erbがそれでありまったく同じことをダンプする場合、私はそれを行うのですかやりたいことを得ることができます。だから、例えば私は_junk.html.erbそれを呼び出すと、これを行うことができます:

$("#content").html("<%= escape_javascript(render('junk')) %>") 

それだけで正常に動作します。私は単純なものが欠けていると思うし、.js.erbファイルで何か別のことをする必要があると確信していますが、私は何がわかりません。同じコードを2か所に配置する必要があると私には分かりません。

答えて

0

私はあなたが部分的に再利用されるコードを分けて、あなたのindex.html.erbに部分をレンダリングするべきだと思います。次に、そのセクションをリフレッシュする必要があるときにpartialを使用できます。

関連する問題