我对AJAX
项目中的某条路线进行了Ruby on Rails
调用。它调用Ruby Controller
中的方法来更新我的几个对象上的标志,然后我需要重新加载页面以反映这些更改。这是我的解决方案,在Ruby
方法结束时:
respond_to do |format|
format.js {render js: "window.location = '#{processed_items_path(params)}'" }
end
这正是我需要它做的事情,它刷新页面并将用户拉回到顶部以查看闪光通知。但是,在这样做之前,它会弹出一个窗口,上面写着:
The page at localhost says:
"window.location = '#{processed_items_path(params)}'"
并且需要您点击"OK"
才能继续。有没有办法摆脱那个盒子?
答案 0 :(得分:0)
根据上面的评论,代替重定向,只需呈现包含表格的部分内容
我假设您的ajax通话正在运行(因为它将您带到您的方法)。为了渲染你的部分,你可以这样做:
def your_method
#your logic of updating attributes
respond_to do |format|
format.js {} # this will let rails look for a file named your_method.js.erb in your view
end
end
现在您只需要在 your_method.js.erb
中渲染您的部分内容$("#some_id_of_parent_element").html("<%=j render partial: "partial_containing_table", locals: { :your_local => partial_local} %>");
有关详细信息,请参阅Working with javascript in rails