4

私は最近、RoR3 beta/RC に基づいて、Ruby on Rails の学習を開始しました。私は以前、他のフレームワーク (Django など) を使用してアプリケーションを開発していましたが、JavaScript は完全に自分で作成していました。

RoR を使用してアプリケーションを開発するとき、JavaScript を実装する 2 つの可能な方法に混乱します。「純粋な」方法 (JavaScript を記述して<script>タグに入れる) と RJS ファイルを記述する方法です。

どのアプローチをいつ使用する必要がありますか? RJS の場合、次のような特定のアクションを実装するにはどうすればよいonChangeですか?

4

2 に答える 2

6

レールでは、さまざまなタスクに両方のアプローチを使用する必要があります。私もそうです。ajaxリクエストを実行したい場合は、RJSを使用します。これは、リクエストを簡素化し、はるかに少ないコードで.rjsファイル内により強力で柔軟な応答を記述できるためです。たとえば、パーシャルを使用して、ruby変数にアクセスすることができます。ページをより動的にしたい場合は、それを含むプレーンなJavaScriptを使用しjavascript_include_tagます。

UPD。 このアプローチは、レール3でも同じように機能します。JQueryやHAMLで使用することができます。Rails3のUJSはそれを単純化します。プロトタイプよりもJqueryを好み、。のような適切なファイル名を付ける場合は、 jquery-ujsを使用する必要がありますcreate.js.haml。たとえば、このアプローチでは、AJAXリクエストでサーバー側の検証を使用できます。

于 2010-09-05T16:39:19.640 に答える
4

Rails 3 では、それを行う正しい方法は純粋な JS です。RJS は厳しすぎるため、jQuery で使用するには、Prototype を使用するか、何らかの方法でハックする必要があります。Rails 3 は控えめな JavaScript も促進します。AJAX リクエストでは、RJS を使用する代わりに、純粋な Javascript 埋め込みを ERB で返す必要があります。

残念ながら、この変更には RJS を使用していた古いプロジェクトの多くの再作業が必要になるため、そのままにしておく人もいます。

RJS は実際には Rails 3 で減価償却されています。RJS を使用するにはプラグインが必要です。したがって、今から始めて、幸運にも Rails 3 をすでに開始している場合は、Rails 3 の方法に進んでください。

新しい UJS の方法の良い例を次に示します: http://railscasts.com/episodes/205-unobtrusive-javascript

幸運を

于 2011-01-12T10:46:40.340 に答える