rails 3中的link_to_remote属性/参数

时间:2013-04-23 04:32:29

标签: ruby-on-rails ajax ruby-on-rails-3 unobtrusive-javascript rails-3-upgrade

我正在尝试从rails 2.3升级到3.0,并且我发现rails 2中的link_to_remote应该在具有link_to属性的rails 3中更改为:remote => true

:before, :loading, :failure, :update

的不引人注目的javascript(UJS)

但我也有像:url, :href, :title 这样的属性我应该如何更改

这是我试图升级的rails 2.3代码

 <%= link_to_remote column.label,
  { :url => sort_params,
    :before => "addActiveScaffoldPageToHistory('#{href}', '#{controller_id}')",
    :loading => "Element.addClassName('#{column_header_id}','loading');",
    :failure => "ActiveScaffold.report_500_response('#{active_scaffold_id}')",
    :update => active_scaffold_content_id,
    :method => :get },
  { :href => href ,
   :title => column.header_info}%>

我已经分析了很多网站和Rails文档,但没有为link_to

指定这些属性

1 个答案:

答案 0 :(得分:0)

您可以将回调绑定到Rails 3中的远程链接,其余属性可以指定为选项。

link_to column.label,
  sort_params,
  remote: true,
  title: column_header.info,
  id: 'my_remote_link',
  data: {
    href: href,
    controller_id: controller_id,
    column_header_id: column_header_id,
    active_scaffold_id: active_scaffold_id
  }

我们将使用数据属性进行回调。

$('#my_remote_link').bind('ajax:beforeSend, function() {
  addActiveScaffoldPageToHistory($('#my_remote_link').data('href'), $('#my_remote_link').data('controller_id'));
});

有关不同ajaxEvents的说明,请参阅http://docs.jquery.com/Ajax_Events