1

Rails 3 アプリで Ujs を使用したいと考えています。Railsの控えめで目立たないjavascriptについて説明してくれる人はいますか? Rails 3 以前のバージョンが ujs をサポートしていないのはなぜですか?

4

1 に答える 1

3

Railsには初期のバージョンからjavascriptヘルパーがあります。

Rails 3との違いは、目立たないようになったことです。目立たないということは、機能がコンテンツから分離されていることを意味します。

たとえば、次のとおりです。

<%= link_to "Delete", resource_path(@resource), :method => "delete", :confirm => "Are you sure?" %>

Rails3以前をレンダリングします

<a href="/resource/1" onclick="//lots and lots of inline javascript code here">Delete</a>

Rails3UJSを使用

<a href="/resource/1" data-method="delete" data-confirm="Are you sure?">Delete</a>

違いは、控えめなJavaScriptがビューにインラインコードなしで処理され、「データ」属性を介して渡され、このデータ属性を取得して対応するJSコードを実行するアプリ内の他のデフォルトJSでバックグラウンドで処理されることです。 。

:remote => "true"UJSは、またはを使用してリモート(AJAX)呼び出しを行うためにも一般的に使用されますlink_to_remote

詳細については、こちらをご覧ください:AJAX on Rails


基本的に、UJSは、確認などのRailsに含まれるjavascriptヘルパー、およびAJAXなどがビューコード(HTML)から分離されていることを意味します。

UJSヘルパーも簡単に切り替えることができます。たとえば、Prototypeを使用する場合は、ヘルパーの機能を維持しながらjQueryから簡単に切り替えることができます。

Railsの古いバージョンがUJSをサポートしていなかったのは、その時点で組み込まれていなかったため、インラインJSを使用して行われたためです。

于 2013-01-29T07:57:50.913 に答える