如何将javaScript变量传递给ruby。我想做这样的事情,但我不知道如何表达它。
function save(){
var g = document.getElementById("self").value;
<% @owner.info = g %>
}
另一个可能的解决方法是我需要能够通过rails而不是javascript提取文本区域的内容。
任何人都可以帮助我吗?
答案 0 :(得分:0)
你尝试做的事情对于vanilla rails安装和javascript没有意义。这是一个很好的工作流程,可以完成您尝试做的事情以及一些细节:
运行rails的ruby代码和您的应用程序在服务器上执行。服务器接收请求,执行ruby代码,并将响应作为html文档发送。
用户的浏览器收到html并将其转换为漂亮的网页。在这一点上,任何与您的应用程序相关的JavaScript都在用户的浏览器中执行。与服务器的连接已被切断,在另一个请求发出之前不会再执行任何ruby代码。
在第2步中呈现的页面上,您有一个表单。在this guide之后,您可以通过ajax告知此表单。这意味着浏览器不会请求新的网页,而是使用javascript向服务器发送特殊请求。服务器可以将表单值保存到数据库并将响应发送回浏览器。用户一直没有离开他们当前正在查看的页面。
或者,您可以跳过ajax并让用户提交表单,但您需要将它们重定向回他们正在查看的页面(并且可能会添加一个注释,表明他们提交的表单已保存)。