如何在Rails中为HAML定义帮助程序以定义href='javascript:void(0)'
的链接?
即。这是一个简写:
%a.link#somelink(href="javascript:void(0)") Link to Foo
希望比这更整洁:
- js_link {:class=>'link', :id=>'somelink'} "Link to Foo"
我的意思是HAML助手,而不是传统的Rails助手。我希望有类似的东西:
%js.link#somelink Link to Foo
答案 0 :(得分:1)
我认为你将会遇到困难。你能做到的最简单的可能是
#somelink.link
- js_link 'Link to Foo'
但是这会将id
和class
属性添加到链接周围的div而不是直接添加到它。如果选择器用于CSS或jQuery目的,您可以完全不使用属性并使用周围的元素信息来访问链接:
#list-of-links
%a{href: "javascript:void(0);"}
%a{href: "javascript:void(0);"}
%a{href: "javascript:void(0);"}
在JavaScript中:
jQuery('#list-of-links a').on('click', function() { return doSomething(); });
所有这一切,可以为Haml创建custom filter,类似于:css
或:script
,类似
Haml::Filters.register_tilt_filter "JavaScriptLink"
但要实现这一点,您必须定义自己的"JavaScriptLink"
Tilt模板系统,即便如此,我也不确定它是否会起作用或看起来更漂亮。