1

Rails 2.3 から 3.0 にアップグレードしようとしていますが、Rails 2では、Rails 3 で属性link_to_remoteを変更する必要があることがわかりました。link_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}%>

多くの Web サイトと Rails のドキュメントを分析しましたが、これらの属性については何も指定されていません。link_to

4

1 に答える 1

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'));
});

さまざまな ajaxEvent の説明については、 http: //docs.jquery.com/Ajax_Events を参照してください。

于 2013-04-23T08:55:02.953 に答える