如何将javascript变量传递给rails变量

时间:2014-05-16 22:33:15

标签: javascript ruby-on-rails

如何将javaScript变量传递给ruby。我想做这样的事情,但我不知道如何表达它。

function save(){
    var g = document.getElementById("self").value;
    <% @owner.info = g %>
}

另一个可能的解决方法是我需要能够通过rails而不是javascript提取文本区域的内容。

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

你尝试做的事情对于vanilla rails安装和javascript没有意义。这是一个很好的工作流程,可以完成您尝试做的事情以及一些细节:

1。从服务器请求页面

运行rails的ruby代码和您的应用程序在服务器上执行。服务器接收请求,执行ruby代码,并将响应作为html文档发送。

2。用户从服务器获取响应

用户的浏览器收到html并将其转换为漂亮的网页。在这一点上,任何与您的应用程序相关的JavaScript都在用户的浏览器中执行。与服务器的连接已被切断,在另一个请求发出之前不会再执行任何ruby代码。

3。用户填写ajax表单

在第2步中呈现的页面上,您有一个表单。在this guide之后,您可以通过ajax告知此表单。这意味着浏览器不会请求新的网页,而是使用javascript向服务器发送特殊请求。服务器可以将表单值保存到数据库并将响应发送回浏览器。用户一直没有离开他们当前正在查看的页面。

或者,您可以跳过ajax并让用户提交表单,但您需要将它们重定向回他们正在查看的页面(并且可能会添加一个注释,表明他们提交的表单已保存)。