これは、この問題に対する私の解決策です:
JavaScriptで:
// define function to be called
function awesome_func(a,b,c){
console.log(a,b,c);
}
//clean implementation of link_to_function
$(function(){
$('[data-on][data-call][data-args]').each(function(d){
try{
$(this).on( $(this).data('on'), function(){
window[$(this).data('call')].apply(window,$(this).data('args'))})
}catch(e){
if(typeof(console) != 'undefined' && typeof(console.log === 'function'))
console.log(e);
}
});
})
次に、レールで行うことができます:
link_to 'Awesome Button', '#', data:{on: :click, call: 'awesome_func',args: '[1,"yeah",{b:4}]'
これは彼らが私たちにコーディングしてほしい方法のようです:)、私はlink_to_functionが好きでしたが、