link_to_remote rails 3 中的属性/参数

link_to_remote attributes/arguments in rails 3

提问人:Siva 提问时间:4/23/2013 更新时间:4/23/2013 访问量:757

问:

我正在尝试从 rails 2.3 升级到 3.0,我发现在 rails 2 中应该更改为在 rails 3 中带有属性。link_to_remotelink_to:remote => true

和不显眼的javascript(UJS):before, :loading, :failure, :update

但我也有这样的属性,比如我应该如何改变它: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

Ruby-on-Rails ajax Ruby-on-Rails-3 不显眼的 JavaScript Rails-3-升级

评论


答:

0赞 Arjan 4/23/2013 #1

您可以在 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