0

単純に思えますが、私のパーシャルは ajax を使用してビュー ( dash.html.erb ) にレンダリングされません。

ルート.rb

match "users/dash" => "users#dash"

ユーザーコントローラー

def dash
     respond_to do |format|
    format.js
  end
   end

ダッシュ.html.erb

<div id= "mydiv">This view is not shown using ajax.</div>

ダッシュ.js.erb

$('#mydiv').html('<%= raw escape_javascript render("cart_payment") %>');

私の部分-_cart_payment.html.erb

<p>This is a partial.</p>

アップデート:

ユーザー/index.html.erb

<script type= "text/javascript">

$.ajax({
  url: "users/dash",
  data: {  
  //params if needed

  }
});

</script>

users urlここから ajax が呼び出されるため、ブラウザで呼び出していることに注意してください。それは正しい方法ではありませんか、それとも何か不足していますか?

4

1 に答える 1

1

メソッドをリモートで呼び出すと、dash実際に$('#mydiv').html...コードが実行されます。問題は、そもそもindex.html.erbファイル<div id='mydiv'>を更新する必要がないことです。

あなたindex.html.erbをこれに置き換えると、うまくいくはずです:

<div id='mydiv'></div>

<script type= "text/javascript">
  $.ajax({
    url: "users/dash",
    data: {  
    //params if needed
    }
  });
</script>
于 2013-02-13T15:10:37.007 に答える