将Javascript变量传递给Rails路径

时间:2013-01-18 16:37:29

标签: javascript ruby-on-rails

有没有办法将Javascript变量传递给Rails路径?

例如,我的html.erb文件中有:

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

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

2 个答案:

答案 0 :(得分:3)

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

您无法在单个HTTP请求/响应中进行双向同步通信。

所以没有。

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

发出此类请求可以通过以下方式完成:

  • 设置location
  • 提交表格
  • 使用XMLHttpRequest对象
  • 生成可以具有外部src
  • 的元素(例如脚本或图像)
  • 以及许多其他方法。

答案 1 :(得分:2)

  • JavaScript在浏览器上运行
  • Rails在服务器上运行。

他们不能一起跑。