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 回答