我正在关注Michael Hartl撰写的Ruby on Rails教程(3.2)。在第9章中,介绍了删除用户管理员用户功能。这在我的本地机器上工作正常但在heroku上没有。虽然生成的HTML在本地和heroku上都是相同的
<a href="/users/2" data-confirm="You sure?" data-method="delete" rel="nofollow">delete</a>
当我点击本地删除链接时,我确定会弹出一下吗?然后单击“确定”将删除该用户。但是当我点击删除链接时在heroku上使用相同的代码,它会将我带到该用户的用户页面而不是弹出你的确定吗?消息。
有人可以指导吗?
我的application.js有以下条目
//= require jquery_ujs
//= require bootstrap
//= require jquery
//= require_tree .
我尝试更改订单如下,但没有成功
//= require bootstrap
//= require jquery
//= require jquery_ujs
//= require_tree .
答案 0 :(得分:4)
尝试预编译静态资源。在本地控制台中键入:
rake assets:precompile
然后将更改推送到heroku
$ git add .
$ git commit -m "Add precompiled assets for Heroku"
$ git push heroku master
答案 1 :(得分:4)
我已经完成了资产:已经预编译,因此不是问题。但是我找到了解决方案(而不是解决方法)
不幸的是,同样的application.js在我的本地设置和heroku上都不起作用。以下订单适用于heroku
//= require jquery
//= require jquery_ujs
//= require bootstrap
//= require_tree .
以下顺序适用于我的本地设置,否则我会遇到线程twitter bootstrap drop down suddenly not working中描述的问题
//= require jquery_ujs
//= require bootstrap
//= require jquery
//= require_tree .
答案 2 :(得分:0)
我已经采取了所有这些步骤来清除/预编译源代码以及许多其他步骤,但没有一个对我有用。
要恢复,我想要做的是更改正在使用的文件“ config / environments / production.rd” 中的“ Compress JavaScripts and CSS。” uglifier 使用 ass 。
config.assets.css_compressor = :sass
提示:将本地服务器更改为以“生产”方式运行,有助于重现本地问题。
rails server -e production