【问题标题】:how to use output of helper method as value in haml hash?如何使用辅助方法的输出作为haml哈希中的值?
【发布时间】: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


【解决方案1】:

只要去掉 = 就可以了:

%button{class: "user_navigation_menu_item", onClick: gimme_my_custom_javascript}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-07
    • 2015-02-01
    • 2015-05-27
    • 1970-01-01
    • 2011-02-05
    • 1970-01-01
    • 1970-01-01
    • 2019-04-21
    相关资源
    最近更新 更多