Ruby on Rails app / assets / stylesheets更改不会更改public / assets / application.css

时间:2014-03-13 11:14:51

标签: ruby-on-rails

我正在使用Ruby on Rails编写的现有网站,我是一名初学者。我无法更改我的网站视图。我在app / assets / stylesheets / * .css.scss中进行了一些更改,但它不会改变网站上的任何内容。

在app / assets / stylesheets / application.css中我有:

/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
 * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the top of the
 * compiled file, but it's generally better to create a new file per style scope.
 *
 *= require_self
 *= require_tree
 */

我已经读过这应该包括我所有的css文件。 另一方面,我找到了public / assets / application.css文件,其中直接应用了更改,但它不是可行的文件。

我找到了一个网站,解释了这一点http://www.reinteractive.net/posts/116-12-tips-for-the-rails-asset-pipeline。它告诉要包含还是预编译。

预编译是否意味着它应该修改public / assets / application.css文件?因为它没有。

我相信我在这里错过了一些小而简单的东西。 在此先感谢您的帮助

2 个答案:

答案 0 :(得分:1)

默认情况下,rails会在' public / assets'中查找资产。地点。在开发中,我们通常会不断修改资产,从而避免使用资产预编译(我希望您使用资产预编译)。资产预编译的作用是缩小,将css和js文件连接成一个单独的css和js文件,并将它们放在公共/资产中。夹。

在您的情况下,由于您在开发环境中本地运行,请删除公共/资产'文件夹完全是因为现在,应用程序正在从那里加载资产是错误的。

答案 1 :(得分:0)

您何时使用“rails服务器”(开发),资产上的任何更改都会显示在您的应用程序上,因为rails会从app / assets重新加载所有文件。 在生产时,应用程序使用公共文件夹上的编译文件,对应用程序进行任何更改,您将需要再次编译应用程序,清除已编译的文件。