Rails 脚手架 scss 每次生成脚手架时都会重置
Posted
技术标签:
【中文标题】Rails 脚手架 scss 每次生成脚手架时都会重置【英文标题】:Rails scaffolds scss reset each time a scaffold is generated 【发布时间】:2012-09-26 22:03:42 【问题描述】:每次我执行rails generate scaffold Name
时,app/assets/stylesheets/scaffolds.css.scss
文件都会被覆盖(好吧,我会被提示覆盖它)。我不想要这个,所以我当然可以在提示覆盖时输入n
,但我想知道处理脚手架样式的正确方法。
我可以将 css 写入稍后加载的 css 文件中,以覆盖脚手架.css.scss 文件中必要的 css。但不仅丑陋(生成并加载了每个请求的不必要/未使用的 css),而且我不知道如何在将鼠标悬停在链接上时不更改前景色和背景色(来自scaffolds.css.scss):
a
&:hover
color: #fff;
background-color: #000;
从scaffolds.css.scss
中删除类似上述内容的正确方法是什么?
【问题讨论】:
【参考方案1】:想要永久禁用禁用样式表,或者通常忘记--no-stylesheets
开关(我愿意!)
在您的生成器中禁用样式表!!
config/application.rb
config.generators do |g|
g.stylesheets false
end
【讨论】:
这记录在guides.rubyonrails.org/… 是的,但是,它可以生成资源 css 而不是脚手架 css?【参考方案2】:看看这个*** answer
rails g scaffold MyModel --no-stylesheets
【讨论】:
所以要更改脚手架的样式表,我们应该修改scaffolds.css.scss,然后不为脚手架生成样式表? 我认为这有点讨论,但脚手架被认为非常适合快速原型制作。一旦您设置好模型或有一个良好的开始,您可以修改代码或从头开始,如果您知道自己想要什么。更多讨论here 我的问题是关于修改脚手架样式表的正确方法(默认情况下,它似乎也包含在 Rails 的所有网页中),而不是脚手架何时以及是否有用。【参考方案3】:请记住,您始终可以在自己的样式表中重新定义这些内容,并通过修改 assets/stylesheets/application.css 将它们包含在脚手架样式表之后
*= require_self
*= require scaffolds
*= require YOUR_FILE
(如果您不使用 application.css,默认情况下样式表按字母顺序包含,这可能是您想要的,也可能不是。)
【讨论】:
以上是关于Rails 脚手架 scss 每次生成脚手架时都会重置的主要内容,如果未能解决你的问题,请参考以下文章