ビューの 1 つに html.erb ファイルがあります。ファイルはかなり大きく、約 2/3 の JavaScript コードと 1/3 の html しかありません。このファイルが雑然としすぎているのは好きではありません。JavaScript 部分は主にイベント ハンドラーであり、ページ内の対応する html 要素に対する日付ピッカー、ダイアログなどの jquery UI コンポーネントの使用です。javascript部分をhtml部分から分離したいと思います。
javascript を別の js.erb ファイルに移動して、パーシャルのように使用できますか? これの利点は何ですか?
I18n.() や <%= form_authenticity_token %> などの Rails API を使用する場合、JavaScript を静的な .js ファイルに移動するにはどうすればよいですか。ラッピングするJavaScript関数に毎回渡す必要がありますか? これを行うより良い方法はありますか?
javascript を html.erb ファイルから移動すると、html.erb ページのキャッシュ/レンダリングに役立ちますか?
再利用可能なパターンがあるかどうかを調べることに興味があります
html.erb ファイルのサンプル コード:
<% content_for :javascript do %>
<script type="text/javascript">
$(document).ready(function()
{
$('#create_segment_dialog').dialog({
title: "<%= I18n.t("segment.create_segment_title") %>",
// lots of javascript
}
</script>
<%end %>
//HTML starts here
<div id="right-column">