Jquery 为什么datatables.net在我的rails开发环境中工作,但在部署到heroku时却不工作?
在我的第一个Rails6项目中,我尝试将(jQuery插件)与Bootstrap5结合使用,这样我就可以在每个HTML表上获得奇特的表排序 在我的rails开发环境中,它在本地运行得非常好,但在我将它推到Heroku应用程序后,datatables组件似乎不起作用:我看到了数据库中的所有行,但列标题无法单击进行排序,搜索栏也不见了。由于某些原因,无法正确加载/激活datatables组件 我在网上搜罗了这么多线索,但似乎找不到解决办法 我尝试过但没有结果的事情:Jquery 为什么datatables.net在我的rails开发环境中工作,但在部署到heroku时却不工作?,jquery,ruby-on-rails,heroku,datatables,Jquery,Ruby On Rails,Heroku,Datatables,在我的第一个Rails6项目中,我尝试将(jQuery插件)与Bootstrap5结合使用,这样我就可以在每个HTML表上获得奇特的表排序 在我的rails开发环境中,它在本地运行得非常好,但在我将它推到Heroku应用程序后,datatables组件似乎不起作用:我看到了数据库中的所有行,但列标题无法单击进行排序,搜索栏也不见了。由于某些原因,无法正确加载/激活datatables组件 我在网上搜罗了这么多线索,但似乎找不到解决办法 我尝试过但没有结果的事情: 在production.rb中
- 在
中切换production.rb
选项,强制Heroku预编译资产config.assets.compile
- 重新排列
application.js中的需求列表
- 使用类似SO问题/答案的
内容application.js
- 在开发人员控制台(F12)输出中寻找线索(我看到
错误,但它们似乎不相关,因为我在开发中也得到了这些信息,并且datatable在那里工作正常……)uncaughttypeerror
我缺少什么?Heroku在Postgresql数据库上运行。它不能与其他数据库一起正常工作。请您将数据库更改为postgresql并再次尝试抛出heroku,好吗?我通过回溯我的步骤最终解决了这个问题;从头开始生成一个新的rails 6应用程序,并在本地和Heroku中仔细测试bootstrap和Datatables.net 如果有人有类似的问题,以下是我所做的:
require(“datatables.net-bs4”)
添加到app/javascript/packs/application.js
,它看起来像:
require(“@rails/ujs”).start()
require(“turbolinks”).start()
require(“@rails/activestorage”).start()
需要(“频道”)
require(“datatables.net-bs4”)
#mytable
):
}))
index.html.erb
)中,向表添加ID属性(有关详细信息,请参阅Datatables.net):
table class=“table”id=“mytable”
现在,该表在Heroku中正常工作。关于jQuery也没有控制台错误了。你能在本地运行
rake assets:precompile
并查看结果吗?@3DPrintScanner=>预编译输出被添加到帖子中。你有没有在cars.js
文件中弹出console.log(xx)
来检查它是否被加载了?您是否在开发人员控制台上尝试过相同的代码?好主意。这样做了,它发现了一大堆关于jQuery的错误。我想我混合了jQuery和datatables的不同安装。我将从头开始,逐步升级到datatables.net。我的本地和Heroku环境都运行在Postgresql数据库上,所以我认为这不会导致datatables.net出现故障。我看到了表中的数据,但(数据)表功能不起作用。
$(document).ready( function () {
$('#mytable').DataTable({
"lengthMenu": [ [-1, 10, 50, 100], ["All", 10, 50, 100] ]
});