我正在跟踪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中)
任何想法如何解决这个问题? 提前致谢
答案 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
中指定的内容为您的网页添加资源(如样式表)。