仅用于计算机生产环境的CSS渲染

仅用于计算机生产环境的CSS渲染,css,ruby-on-rails,apache,ubuntu,Css,Ruby On Rails,Apache,Ubuntu,我已经用Apache部署了Rails应用程序,现在可以通过访问myappname.com查看我的项目。当我在浏览器中从个人计算机查看项目时,它会显示具有正确CSS的应用程序,但当我从任何其他设备查看项目时,CSS不会附加,页面也会被分解 这是我第一次使用Apache部署到Ubuntu16.04 droplet,我想知道是否有一些配置我错过了设置 因为这是我第一次不知道我应该发布哪些文件,所以请告诉我是否有我应该检查的内容,我也会在更新中发布 更新: 在我的计算机上,CSS偶尔不渲染背景图像,但仍

我已经用Apache部署了Rails应用程序,现在可以通过访问myappname.com查看我的项目。当我在浏览器中从个人计算机查看项目时,它会显示具有正确CSS的应用程序,但当我从任何其他设备查看项目时,CSS不会附加,页面也会被分解

这是我第一次使用Apache部署到Ubuntu16.04 droplet,我想知道是否有一些配置我错过了设置

因为这是我第一次不知道我应该发布哪些文件,所以请告诉我是否有我应该检查的内容,我也会在更新中发布

更新:

在我的计算机上,CSS偶尔不渲染背景图像,但仍然有所有其他CSS代码。其他设备仍然没有CSS呈现

更新:

看起来Ubuntu服务器正试图从本地主机中提取资产。这里的问题是,我对我的站点进行了硬编码,试图从访问站点的人的本地计算机而不是服务器本身检索文件。根据我看到的错误:

http://localhost:3000/assets/jquery-ui/accordion.self-h3h497h7h34f7832987h4f8237h4f872h34f78923847fh82397h4f78h2348h3h4.css?body=1 Failed to load resource: net::ERR_CONNECTION_REFUSED
因为上面写着“localhost”,所以每个试图加载该页面的人都会在本地计算机上加载一些内容。所以在这个例子中,实际上是我的计算机在监听端口3000。我需要调整我的站点的编码方式,以便它从自身而不是本地主机中提取CSS资产


问题1:我不知道怎么做。当我找到解决方案时,将再次更新。

在这种情况下,您必须在scss文件中使用rails帮助程序

.main_hero {
  background: url(image_path("myappname_hero_bg.png")) no-repeat center center fixed;
}

您在部署箱中预编译了资产吗?是的,我在本地环境和Droplet上从项目的根目录运行了
bundle exec rake assets:precompile
。在这种情况下,您能展示一下如何设置apache和rails吗?您是否将rail的公共目录作为文档根目录?最后,您是如何为生产中的资产提供服务的?我将遵循以下文档。我只做了它指示的事。这是一个在div类容器中使用的CSS示例:
main\u hero{background:url(“/assets/myappname\u hero\u bg.png”)无重复中心固定;}
。此图像将不会显示在
Hello World
中,这在开发时破坏了图像,在生产中不起作用。我正在使用.css,可能这就是原因吧?当我在本地计算机上从项目目录的根目录运行
rails s
时,浏览器上的图像是可见的,但当我关闭服务器时,它们不再可见!这是什么魔法?图像在子文件夹中吗?您必须使用
.scss
才能编译文件。