2013-04-17 86 views
0

如何在Rails中定義HAML的助手以定義與href='javascript:void(0)'的鏈接?HAML Helper在Rails中創建javascript:void(0)links

即此的縮寫:

%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 

回答

1

我覺得你會很難與此。最簡單的,你可以把它或許會是這樣的

#somelink.link 
    - js_link 'Link to Foo' 

但是,這將增加的idclass屬性一個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(); }); 

所有這是說,它可以創建一個custom filter,類似於:css:script對Haml的喜歡的東西

Haml::Filters.register_tilt_filter "JavaScriptLink" 

但是爲了達到這個目的,你必須定義你自己的"JavaScriptLink"Tilt模板系統,即使如此,我也不確定它會起作用或看起來更漂亮。