看起来很简单,但我的部分内容未使用ajax在视图中呈现( dash.html.erb )。
的routes.rb
match "users/dash" => "users#dash"
用户控制器
def dash
respond_to do |format|
format.js
end
end
dash.html.erb
<div id= "mydiv">This view is not shown using ajax.</div>
dash.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。
这是不正确的方式还是我错过了什么?
答案 0 :(得分: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>