我正在使用jquery ajax调用,并且在控制器操作中我想重定向某些操作但是在
时我使用redirect_to“/ some_action”。然后它没有重定向到我想要的行动请给
任何有用的建议。
<%= link_to "javascript:;" ,:onclick => "admin_fun"%>
我的jquery ajax调用是
function admin_fun() {
if (confirm("Are you sure you want to add?")) {
var container = $("#trunk_detail");
$.ajax({
url:'/accounting/add_rule',
type:'get',
dataType:'html',
processData:false,
success:function (data) {
container.html(data);
}
});
}
}
我的控制器代码是
def add_rule
# do somthing
redirect_to "/accounting/index_report"
render :text => "ok"
end
答案 0 :(得分:0)
你不能在这样的rails动作中引起2个响应。如果您检查日志,您可能会在add_rule
操作中看到“双重渲染错误”。你为什么要重定向?如果你能更清楚地解释一下你的实际意图,那么我们就可以得到一些能够做到这一点的代码。
答案 1 :(得分:0)
这一行不会给你想要的结果,因为你可以重定向或渲染多次。而不是从控制器中省略这一行
redirect_to“/ accounting / index_report”
并在jquery ajax调用成功响应时,您可以重定向到所需的操作,如
if(确认(“您确定要添加吗?”)){
var container = $("#trunk_detail");
$.ajax({
url:'/accounting/add_rule',
type:'get',
dataType:'html',
processData:false,
success:function (data) {
container.html(data);
window.location.replace("/accounting/index_report");
}
});
} }
享受........