我正在使用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文件?因为它没有。
我相信我在这里错过了一些小而简单的东西。 在此先感谢您的帮助
答案 0 :(得分:1)
默认情况下,rails会在' public / assets'中查找资产。地点。在开发中,我们通常会不断修改资产,从而避免使用资产预编译(我希望您使用资产预编译)。资产预编译的作用是缩小,将css和js文件连接成一个单独的css和js文件,并将它们放在公共/资产中。夹。
在您的情况下,由于您在开发环境中本地运行,请删除公共/资产'文件夹完全是因为现在,应用程序正在从那里加载资产是错误的。
答案 1 :(得分:0)
您何时使用“rails服务器”(开发),资产上的任何更改都会显示在您的应用程序上,因为rails会从app / assets重新加载所有文件。 在生产时,应用程序使用公共文件夹上的编译文件,对应用程序进行任何更改,您将需要再次编译应用程序,清除已编译的文件。