找不到文件'dataTables / jquery.dataTables'Rails 4

时间:2013-11-01 03:48:29

标签: jquery datatable ruby-on-rails-4 datatables jquery-datatables

我正在跟踪rails#340以在我的应用程序中实现数据表。

按照所有步骤,我收到此错误: 找不到文件'dataTables / jquery.dataTables'

我正在使用rails 4,我发现教程中提到的一些文件我必须创建像application.css和products.js.coffee

的Gemfile

gem 'jquery-rails'
group :assets do 
  gem 'jquery-datatables-rails', github: 'rweng/jquery-datatables-rails'
  gem 'jquery-ui-rails'
end

的application.js

//= require jquery
//= require dataTables/jquery.dataTables
//= require_tree .

Application.js.coffee

 /* 
 * This is a manifest file that'll automatically include all the stylesheets available in this directory 
 * and any sub-directories. You're free to add application-wide styles to this file and they'll appear at 
 * the top of the compiled file, but it's generally better to create a new file per style scope. 
 *= require_self 
 *= require dataTables/jquery.dataTables 
 *= require_tree .  
*/  

和rails 4一样,我在/layouts/application.html.erb中添加了对样式表的调用

<%= stylesheet_link_tag 'application.css', media: 'all' %>

和products / index.htm.erb

<table class="table table-normal" id="products" >
  <thead>
    <tr>
                      <td>Code</td>
                      <td>Name</td>
                      <td>Description</td>
                      <td>Price</td>
                      <td>Stock</td>
                      <td>Enabled</td>
                      <td>Company</td>
              </tr>

  </thead>

  <tbody>   

    <% @products.each do |product| %>
      <tr>                          
            <td style="text-decoration: underline;"><%= link_to product.code, edit_product_path(product) %></td>             

            <td><%= product.name %></td>             

            <td><%= product.description %></td>              

            <td><%= product.price %></td>              

            <td><%= product.stock %></td>              

            <td><%= product.enabled %></td>              

            <td><%= product.company_id %></td>              

      </tr>
    <% end %>
  </tbody>
</table>

我在输出

中出现此错误

无法找到文件'dataTables / jquery.dataTables'   (在.... app / assets / stylesheets / application.css:6中)

任何想法如何解决这个问题? 提前致谢

2 个答案:

答案 0 :(得分:6)

Rails 4中没有更多:资产组,所以只需从该区块中获取宝石。

答案 1 :(得分:2)

看看这个related question。我最近遇到了类似的问题,我的发现可能会帮助你。

我看到你提到你必须创建一个application.css文件,但是你没有说明你是否填充了任何文件。您可以尝试添加:

*= require jquery.dataTables

application.css并在.app / assets / datatables中包含jquery.dataTables.css的副本,然后为您提供额外的好处,即可以设置DataTables样式以匹配您应用的其余部分。

进行这些更改将解决“无法找到文件”错误,因为Rails正在查找以下任一项的CSS文件:a)不存在;或b)在application.css文件中指定的位置不存在。

此外,您不应该在stylesheet_link_tag文件中添加application.html.erb。资产管道的重点是,turbolinks会根据您在application.css中指定的内容为您的网页添加资源(如样式表)。