如何将javascript放入嵌入式ruby中?

时间:2016-11-10 16:56:51

标签: javascript jquery ruby-on-rails ruby erb

我正在尝试在用户点击链接后打印一条Flash消息,如下面的js.erb文件所示。

<table>
  <tr>
    <td ng-repeat="item in array">{{item[0].label}}</td>
  </tr>
</table>

我希望flash消息说“已成功添加(无论点击什么)到购物车”我遇到了麻烦,因为我似乎必须将javascript嵌入到嵌入式ruby中。

1 个答案:

答案 0 :(得分:0)

您似乎对ERB的工作方式存在误解。将ruby代码添加到ERB文件时,它将在服务器上运行,并将输出插入到发送到客户端的纯HTML中。所以你的代码正在做的是在你的服务器上运行ruby isDebugflash.new[:alert] = "Successfully added"。并且随HTML一起发送到客户端的Javascript函数是:

"to cart"

这显然没有做任何事情。您可能想要做的是从带有$('a').click(function(){ this.innerHTML }) 的javascript函数向服务器发送一个AJAX请求,然后在收到此请求时运行您的ruby代码。

我确定最后一段对你来说似乎是行话,但希望这会给你一些谷歌搜索弹药。你对erb如何工作以及flash是如何工作有很多误解,而且我无法帮助那些没有巨大帖子的人,而我现在无法真正进入。祝你好运谷歌搜索!