将Javascript变量传递到Rails路径

Pass Javascript variable to Rails path

本文关键字:Rails 路径 Javascript 变量      更新时间:2023-09-26

是否有一种方法将Javascript变量传递到Rails路径?

例如,我有在我的html。erb文件:

<script>
for (i=1, i< numSteps, i++){
   var step = i
   td.innerHTML = <%= project_step_path(@project, step) %>
}
</script>

但是这不起作用,因为step是一个Javascript变量

在这种情况下,Ruby将在服务器上运行。它将生成一些文本。该文本被发送到浏览器。浏览器会将其解析为HTML和JS。

你不能在一个HTTP请求/响应中进行双向同步通信。

每次你想从客户端JavaScript发送数据到服务器端Ruby时,你需要发出一个新的HTTP请求。

发出这样的请求可以通过:

  • 设置location
  • 提交表单
  • 使用XMLHttpRequest对象
  • 生成可以具有外部src的元素(例如脚本或图像)
  • 和许多其他方法。
  • JavaScript在浏览器上运行
  • Rails在服务器上运行。

他们不能一起跑。