如何在控制器(Rails)中重定向后执行JS

How to execute JS after redirect in a controller (Rails)?

本文关键字:重定向 执行 JS Rails 控制器      更新时间:2023-09-26

Create

if @image.save
    format.html { redirect_to vote_path(@image) }
    format.js { render :js => "my_function();" }
end

所以我想在重定向发生后启动一个函数,但这不起作用。还有其他方法可以尝试吗,你能建议我吗?

谢谢。

重定向

和渲染是分开的。如果您希望它在重定向后运行 JS,则可以在vote_path正在使用的视图中放置一些。如果只希望它在重定向后运行,而不是在页面加载时运行,则可以在重定向之前设置一个 flash,然后在视图中检查 flash。

另一种方法是创建一个视图来create.js.erb,它运行 JS:

您的控制器:

if @image.save
  format.html { redirect_to vote_path(@image) }
  format.js { }
end

创建.js.erb

$("#share_window").show();