单击按钮执行Ruby on Rails代码

jon*_*jon 0 javascript ruby ruby-on-rails button

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

Mat*_*chu 12

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

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

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

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

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

祝好运!