私の /public /javaScriptsディレクトリのJavaScriptファイルに埋め込みRubyを実行する方法はありますか?
-
02-10-2019 - |
質問
私は、増え続ける量の関連するJavaScriptを持つフォームを持っています。現在、このJavaScriptは私のフォームビューにありますが、それは問題ありませんが、それは大きくなり、フォームを圧倒し始めています。
これを /public /javaScriptsディレクトリに別のファイルに入れたいのですが、JavaScriptの多くは埋め込まれたRubyによって生成されます。この埋め込まれたルビーは無視され、コードをここに配置するとブラウザに渡されます。
この埋め込まれたルビーを実行し、JavaScriptが私の見解にあるのと同じように生成される最良の方法は何ですか(もしあれば)?
解決
JavaScript用の動的ERBテンプレートを作成できますが、それらは公開/JavaScriptsディレクトリには行きません。
JavaScriptを部分的に移動することをお勧めします。 _form_js.html.erbという名前のファイルを作成し、スクリプトタグのコンテンツをそこに置きます。次に、<%= render:partial => 'form_js'%>あなたのビューから。
サイドノートとして、各要素にカスタムJavaScriptを使用するよりも、クラス/IDでフォームの要素を識別し、これに反応する完全に静的なJavaScriptを使用する方が良いでしょう。
他のヒント
RJSテンプレートを作成し、JavaScriptコードをRJSファイルにグループ化できます。参照: http://www.codyfauser.com/2005/11/20/rails-rjs-templates
所属していません StackOverflow