0

我正在尝试使用一个名为 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 不起作用。

b

我想只在这个页面中使用 JQuery 而不改变我的布局,我该怎么做?

我的rails版本是:3.0.10

请,对不起我的英语=]

4

0 回答 0