【发布时间】:2020-10-20 09:23:28
【问题描述】:
您好,我在 docker 环境中运行的 ruby on rails 应用程序遇到问题。当我在我的应用程序中更新我的 scss 文件并使用docker-compose build、docker-compose up 运行它时,我更新的 scss 不会根据我应用的更改进行更新。
我在app/assets/stylesheets/application.css.scss 目录中配置了一些东西:
application.css.scss
@import "front/style";
我添加了一个名为 front 的文件夹,并在名为 style.scss 的 stylesheets/front 目录中添加了一个文件夹
style.scss
@charset "UTF-8";
@import "compass";
@import "compass/reset/";
@import "sampscss";
我还在stylesheets/front目录中创建了_sampscss.scss,并将_sampscss.scss导入到style.scss中
_sampscss.scss
.regist-block {
width: 450px;
margin: 50px auto 70px;
background: #fff;
border-radius: 5px;
.inner {
padding:30px;
}
#btn-login,
.btn-login,
.btn-signup {
width: 200px;
line-height: 36px;
height: 40px;
font-size: 16px;
margin: 20px auto;
background: $color-green;
text-decoration: none;
&.btn_confirm_email {
width:250px;
border-radius:30px;
box-shadow:2px 2px 4px -2px #999;
}
}
}
然后将该类btn_confirm_email 调用到我的index.html.erb 中的input type submit tag
index.html.erb
<div class="regist-block">
<div class="inner">
<%= f.submit "Send", class: 'btn-login btn_confirm_email' %>
</div>
</div>
但由于某种原因,scss 文件最终不会更新。我确实发现了一些类似的问题,并尝试在 docker 上运行这些命令:
docker-compose exec web bundle exec rake assets:clean
docker-compose exec web bundle exec rake assets:precompile
上面写着rake assets:clean # Remove old compiled assets 和
rake assets:precompile # Compile all the assets
但似乎没有任何效果,并且 scss 文件不会更新。我还尝试将一些现有样式更改为我的public/assets 并再次运行docker-compose up,但似乎它不起作用所有预编译的旧资产仍缓存到public/assets 目录中。
也在我的assets/javascripts/application.js:
//= require jquery
//= require jquery_ujs
这个是存在的。知道如何解决这个问题,为什么 scss 文件不会更新,而是 public/assets 目录中的预编译 css 文件即使我运行 rake assets:clean 和 rake assets:precompile 也不会改变?
【问题讨论】:
-
你能显示 docker-compose 文件吗?
标签: css ruby-on-rails ruby docker sass