在远程服务器上部署rails视图时看起来不同

时间:2015-09-04 11:07:44

标签: css ruby-on-rails asset-pipeline

在我的rails应用程序中,我的视图外观因运行位置而异。如果它在localhost上,则视图看起来如预期: enter image description here

在远程计算机上运行时,它会更改为: enter image description here

这两个应用程序都在WEBrick上的开发环境中运行,所有.css文件都包含在资产管道中。 Rails版本是4.1.7。

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:0)

我认为如果不包含此gem "non-stupid-digest-assets",您应该将此gemfile.rb包含在内。 Rails 4在资产方面存在一些问题。感谢

答案 1 :(得分:0)

有时,即使您认为资产存在,也不会加载资产。尝试:$bundle exec rake assets:precompile RAILS_ENV=production

如果在此处加载了任何内容,则应该执行另一个git commit -m "Loading Assets for Prod" -a然后部署

答案 2 :(得分:0)

我遗憾地忘了添加我正在运行ActiveAdmin。当我对其中一个错误显示的元素进行检查时,我可以在我预期的自定义元素旁边看到很多与ActiveAdmin相关的css数据。即使active_admin.css.scss文件位于 / app / vendor / assets / stylesheets / 而不是 / app / assests / stylesheets / ,它似乎影响了我的无论如何。

到目前为止,我的application.css看起来像这样:

 *= require_self
 *= require_tree .
 *= require jquery.datetimepicker
 */

为了隔离问题,我完全删除了*= require_tree .并仅需要必要的default.css。现在application.css看起来像这样:

 *= require_self
 *= require default.css
 *= require jquery.datetimepicker
 */

重新加载后,一切看起来与localhost完全一样。虽然我无法解释为什么这种配置会使我的观点变得混乱,但新设置解决了这个问题: - )