如何从Rails视图中触发javascript函数?

时间:2012-12-11 22:12:15

标签: ruby-on-rails unobtrusive-javascript

我在我的视图中有这个图像,我想在点击时链接到javascript函数(确切地说是coffeescript:

<%= image_tag("minus_un.png", {:id =>"entree-show-minus-2", :title => "test bouteille", :onclick => "EditCount(" + @entree.id.to_s + ")"}) %>

在我的.js.coffee文件中,我有这个:

EditCount = (id) ->
  console.log "coin_" + id.to_s

但是点击该图片会收到错误消息Uncaught ReferenceError: EditCount is not defined。为什么没找到? jQuery(document).ready ->及以下版本已正确执行。

另外,我想知道这是否是正确的方法。通过这样做,我在视图中引用了JS函数,我不确定这是不正确的不引人注目的javascript。
替代方案是使用$("#entree-show-minus-2").live("click", {block} )语法。它有效,但这意味着我必须从DOM中的某些元素中检索所需的参数,这看起来相当繁琐。

最佳做法是什么?

1 个答案:

答案 0 :(得分:1)

使用您的替代方法并在图像标记上传递via data属性中的参数。