Ruby on rails rails资产管道资产组未预编译数据表

Ruby on rails rails资产管道资产组未预编译数据表,ruby-on-rails,ruby-on-rails-3,datatables,asset-pipeline,Ruby On Rails,Ruby On Rails 3,Datatables,Asset Pipeline,我开始构建一个使用jquery datatables rails的rails项目。当我把它放进我的档案时,我没有把它放进资产组。在开发过程中,一切都很顺利。当我将它投入生产时,我重新阅读了文档,发现它应该在资产组中,所以我将该行移到了我的GEM文件中。然后我执行了一个rake资产:预编译,然后运行RailsServer-e生产 数据表不工作。事实上,我能让它工作的唯一方法是将该行从我的Gemfile中的资产组中取出,并在开发模式下运行。关于这一点,我在网上读到了很多相互矛盾的信息 我把线从资产组

我开始构建一个使用jquery datatables rails的rails项目。当我把它放进我的档案时,我没有把它放进资产组。在开发过程中,一切都很顺利。当我将它投入生产时,我重新阅读了文档,发现它应该在资产组中,所以我将该行移到了我的GEM文件中。然后我执行了一个rake资产:预编译,然后运行RailsServer-e生产

数据表不工作。事实上,我能让它工作的唯一方法是将该行从我的Gemfile中的资产组中取出,并在开发模式下运行。关于这一点,我在网上读到了很多相互矛盾的信息


我把线从资产组外移到了资产组,搞砸了吗?我希望能够在生产环境中运行此功能,并且我希望有一个与jquery datatables rails文档一致的Gemfile。

不久前,为了响应我遇到的另一个问题,我在app/assets/javascripts/application.js中移动了
require twitter/bootstrap
上面的
require jquery
。因此javascript无法正常工作。将其移动到正确的位置解决了问题,并且莫名其妙地没有导致旧问题再次出现


因此,解决方法是,确保jquery位于application.js文件的顶部。

需要有关故障模式的更多信息。如果您使用的是WEBrick,那么它将不会提供任何静态预编译资产,除非您在production.rb中有
config.service\u static\u assets=true
。您是否在控制台中看到路由错误?当gem在资产组之外时,它在生产中工作正常吗?我使用的是WEBrick,在控制台中没有看到任何错误。看起来jquery datatables rails没有任何javascript加载。我在production.rb文件中将config.service_static_资产设置为true。我知道,至少有一些静态资产得到了服务,因为我的资产组中有twitter引导程序rails,这在生产中按预期工作。我已经确认,在运行rake资产(precompile)之前,它在开发中都可以工作。总之,不管gem'jquerydatatables rails'是否在资产组中,它在生产中都不起作用。在我运行rakeassets之前,它将在开发中以两种方式工作:在这一点上,它将不再工作,无论该行是否在assets中。令人困惑?那么,如果在运行
rakeassets:precompile
之前它一直在开发中工作,那么如何从中恢复?是否删除公共/资产中的所有内容?运行rake任务不应该影响开发中的任何事情。如果是,则表明资产管道的设置有问题。您是否对环境文件进行了任何其他更改?你有没有试过制作一个简单的Rails测试应用程序,看看你是否有同样的问题?我制作了一个应用程序,只是为了将development.rb和production.rb文件与基线进行比较。开发文件中没有差异。在生产中,唯一的区别是SERVICE_static_assets=true。实际上,我在Github上有一个处于当前半工作状态的项目。我真的很感谢你在这件事上花时间陪我。