1

関連するJavaScriptの量が増え続けるフォームがあります。現在、このJavaScriptは私のフォームビューに存在しますが、これは問題ありませんが、大きくなり、フォームを圧倒し始めているため、フォームでの作業が困難になっています。

これを/public/ javascriptsディレクトリの別のファイルに入れたいのですが、javascriptの多くは埋め込まれたrubyによって生成されます。ここにコードを置くだけでは、この埋め込まれたRubyは無視され、ブラウザーに渡されます。

この埋め込まれたrubyを実行し、JavaScriptを私のビューにある場合と同じ方法で生成するための最良の方法(ある場合)は何ですか?

4

2 に答える 2

2

javascriptの動的erbテンプレートを作成できますが、それらはpublic/javascriptsディレクトリにはありません。

javascriptをパーシャルに移動することをお勧めします。_form_js.html.erbという名前のファイルを作成し、そこにスクリプトタグのコンテンツを配置します。次に、ビューから<%= render:partial =>'form_js'%>を表示します。

補足として、各要素にカスタムjavascriptを使用するよりも、クラス/ IDによってフォームの要素を識別し、これに反応する完全に静的なjavascriptを使用する方がよい場合があります。

于 2010-04-28T02:41:27.977 に答える
1

RJSテンプレートを作成し、JavaScriptコードをRJSファイルにグループ化できます。参照: http: //www.codyfauser.com/2005/11/20/rails-rjs-templates

于 2010-04-28T02:18:39.463 に答える