我的一个视图中有一个 html.erb 文件。该文件非常大,大约有 2/3 的 javascript 代码和 1/3 的 html。我不喜欢这个文件太杂乱。javascript 部分主要是事件处理程序和 jquery UI 组件的使用,例如日期选择器、对话框等,用于页面中的相应 html 元素。我想将 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">