【发布时间】:2012-05-12 13:25:49
【问题描述】:
我有一个按钮,我想在每个页面加载时动态设置它的 onClick 属性。我想每次都使用 application_helper 给它一个自定义的 javascript。这似乎很难做到,因为 Javascript 将需要访问只有 ruby 才能访问的东西。我想用 application_helper 模块构建一个自定义 javascript,并产生调用 helper 方法的结果作为 Haml 哈希中 onClick 键的值:
在 application.html.haml 中:
%button{class: "user_navigation_menu_item", onClick: = gimme_my_custom_javascript}
在 application_helper,rb 中:
def gimme_my_custom_javascript
javascript = "function(){"
javascript +="alert('yo!');"
javascript+="}"
end
Haml 对我大喊大叫:'unexpected "="'
我该如何做我想做的事?
谢谢
【问题讨论】:
-
请注意,最好通过代码以编程方式分配 JavaScript 处理程序,而不是作为混合到内容 HTML 中的属性。
-
就像启动一个脚本 onDocumentLoad 来为所有东西分配功能?
-
是的,或者在窗口/加载事件上,或者只是将您的脚本放在所有元素都已创建的页面底部。
标签: javascript ruby-on-rails haml helper