【问题标题】:link_to_remote attributes/arguments in rails 3rails 3中的link_to_remote属性/参数
【发布时间】:2013-04-16 04:13:04
【问题描述】:

我正在尝试从 rails 2.3 升级到 3.0,我发现 rails 2 中的 link_to_remote 应该更改为 rails 3 中的 link_to :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 的这些属性

【问题讨论】:

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


    【解决方案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'));
    });
    

    请参阅http://docs.jquery.com/Ajax_Events 了解不同 ajaxEvents 的说明。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多