2012-03-19 59 views
0

我想从erb文件调用ruby方法。该方法需要一个参数。该参数值由用户在表单中输入。我如何将此作为参数发送给该方法?在调用Ruby方法内部erb文件时传递参数

这样的工作。即当我发送字符串而不是变量

<% construct('Text')%> 

但如何发送变量?即我需要的是这样的

<% construct(Variable)%> 

我的变量是JavaScript变量

var Variable = Search.val(); 

我应该通过之前创建Ruby变量?这方面的任何示例代码将是真正有用的

+0

您需要的一切就是在这个伟大的railscast:http://railscasts.com/episodes/324-passing-data-to-javascript – Spyros 2012-03-19 05:46:27

回答

0

我觉得有一个根本的缺陷,你是怎么想的红宝石作品...

Ruby是一种服务器端语言,JavaScript是一种客户端 - 语言。 Ruby on Rails应用程序中的Ruby代码向客户端(用户的浏览器)发送它需要的HTML,图像,CSS和其他资源以供用户的浏览器显示他们需要查看的内容。 JavaScript只能被浏览器查看,Ruby代码只能被你的服务器查看(浏览器不知道)。

不能使用JavaScript变量发送到Ruby方法。您需要在JavaScript中重新实现您的帮助器方法以获得所需的功能,或者您需要执行一个Ajax请求来让JavaScript向您的服务器发出请求,然后您的Ruby on Rails控制器可以处理并给予适当的回应。

+0

为什么你认为这样的行为是一个缺陷? :-)。话虽如此,我希望看到的世界里,客户端和服务器端代码是相同的,我想在'gmail'服务器上阅读一些电子邮件。:-)。 – 2012-03-19 05:54:36

+0

是的你是对的。我误解了关于红宝石的一些事情。我经历了几个教程,并听取了电视广播。现在我有更好的理解。我做了一个Ajax调用,它工作正常。 – CRS 2012-03-22 05:16:16

相关问题