2010-03-24 25 views
2

我想知道,如果:与属性从Rails3中删除,因为我无法找到在Rails3中API的任何东西 - http://rails3api.s3.amazonaws.comrails3 link_to:带属性?

有人有线索,或者提供如何使用的提示:与参数与发送数据的link_to

非工作例如:

= link_to "Foo", {:action => "filter", :filter => "filter1",:with => "'test='+$('search').value"}, :remote => true, :class => "trash unselected", :id => "boo" 

的感谢!

回答

1

有一种方法可以解决它。

使用此视图中作为指导:

link_to "Foo", {:action => "filter", :filter => "filter1"}, {:remote => true, :class => "trash unselected", :id => "boo", 'data-with' => "'&test='+$('search').value"} 

(移动:与所述第二部分,并使其“ - 与数据”)

并且这添加到底:

<script type="text/javascript" charset="utf-8"> 
    $$('a[data-remote=true]').each(function(a){ 
    a.onclick = function(){a.setAttribute('href', a.getAttribute('href') + eval(a.getAttribute('data-with')))}; 
    }); 
</script> 
当然

,你将需要有原型加载(是一个Rails应用程序的默认的JavaScript)


的东西比这一个班轮更好:http://gist.github.com/451508

使用要点,你不需要启动:与&或?

2

我今天很苦恼,过了一段时间,我想出了rails.js中的一些小技巧。在handleRemote方法我已经改变了这一点:

} else { 
    method = element.attr('data-method'); 
    url = element.attr('href'); 
    data = null; 
} 

这样:

} else { 
    method = element.attr('data-method'); 
    url = element.attr('href'); 
    data = eval(element.attr('data-with')); 
} 

感谢对,现在我可以使用的link_to:遥控器是这样的:

<%= link_to "link", some_path, :remote => true, 'data-with' => "'address=' + $j('#office_address').val();" %> 

注:这是只有当你使用jquery时才有效,但应用这个原型不应该很难。