单击按钮执行Ruby on Rails代码

时间:2011-07-26 15:21:08

标签: javascript ruby-on-rails ruby button

我想知道如何在html.erb中嵌入Rails代码,这样我只需按一下按钮就可以运行Ruby函数。我已经google了,如果这是不可能的,我怎么能运行一个更新Ruby on Rails数据库中的变量的JavaScript函数?

2 个答案:

答案 0 :(得分:12)

我认为我们需要谈谈网络的运作方式。别担心;当他们第一次开始构建网络应用程序时,很多人都会感到困惑。

这里有两种类型的代码。第一种类型是服务器端代码,它在您的服务器上运行。在这种情况下,它是Ruby代码,用户无法看到它。此服务器端代码生成第二种类型的代码客户端代码。在这种情况下,它是Javascript代码,因为这是浏览器所理解的。用户可以看到它甚至修改它,并在用户的计算机上运行。

由于数据库存在于您的服务器上,并且无法公开访问(毕竟,这不是很糟糕吗?),您必须使用服务器端代码与数据库。在用户浏览器上运行的代码无法直接与数据库交互,因此您必须在此处使用一种“粘合”技术。

这样做的一种方法是AJAX请求。这是当您的Javascript代码告诉浏览器向您的服务器发送消息并等待响应时。这可能发生在按钮点击上。然后,服务器可以像往常一样处理请求,与数据库交互,无论如何,并将结果发送回浏览器。然而,对于用户而言,他们所看到的只是点击按钮会采取他们期望的行动,这就是最重要的。

在Rails应用程序中实现AJAX有几种方法。 Rails有一些内置方法可供查看,例如Rails 2中的button_to_remote或Rails 3中button_to选项的:remote,可以帮助简化流程。或者,您可以自己编写AJAX代码,甚至谷歌搜索“AJAX教程”也是一个很好的起点。不过,我会从Rails帮助开始,因为它们通常会让初学者变得非常简单。

祝你好运!

答案 1 :(得分:1)

您可以使用JS AJAX请求来请求后端ERB文件,然后该文件访问数据库。

Using AJAX with JS
Using AJAX in jQuery