我正在尝试使用一个名为 DataTable 的插件,因此,我需要在我的应用程序中使用 JQuery,但我想只允许在一页中使用 javascript。
所以,在我的文件夹布局中,我有:
--app
---layout
-----application.html.erb
-----user_reports.html.erb
在应用程序中,我的布局用于所有页面,例如:
<!DOCTYPE html>
<html>
<head>
<%= render 'layouts/head' -%>
</head>
<body class="gray-bg">
<div id="modal" class="modal hide"></div>
<div class="main-header">
<div class="container">
<% if show_title? -%>
<h1>
<%= content_for(:title) -%>
<% if show_subtitle? -%>
<small><%= content_for(:subtitle) -%></small>
<% end -%>
</h1>
<% end -%>
<% if content_for?(:page_actions) -%>
<div class="page-actions">
<%= content_for(:page_actions) -%>
</div>
<% end -%>
</div> <!-- /container -->
</div> <!-- /main-header -->
<div class="container">
<div class="page-content">
<div id="alert_message"><%= render 'layouts/alerts' -%></div>
<%= yield -%>
</div> <!-- /page-content -->
</div> <!-- /container -->
<footer class="no-border">
</footer>
<%= yield(:foot) -%>
为了在页面中使用 JQuery,我在布局中创建了文件 user_reports.html.erb:
<%= yield %>
<%= yield :javascript %>
在我看来,我有一个表格和一个脚本:
<table id="table" class="zebra-striped">
<thead>
<tr>
<th>#</th>
....
</tr>
</thead>
<tbody>
....
</tbody>
</table>
<% content_for :javascript do %>
<%= javascript_include_tag "jquery.min.js" %>
<%= javascript_include_tag "datatables/js/jquery.dataTables.min.js" %>
<script>
$("table").dataTable({
sPaginationType: "full_numbers",
iDisplayLength: 10,
aLengthMenu: [[10, 25, 50, 100, -1], [10, 25, 50, 100, "All"]],
oLanguage: {
sUrl: "/javascripts/datatables/data_tables_lang.json"
}
});
</script>
<% end %>
问题是布局,当我使用创建的文件时:
当我不在时,布局很好,但 javasript 不起作用。
我想只在这个页面中使用 JQuery 而不改变我的布局,我该怎么做?
我的rails版本是:3.0.10
请,对不起我的英语=]