【问题标题】:CSS / SCSS won't update in ruby on rails running in DockerCSS / SCSS 不会在 Docker 中运行的 ruby​​ on rails 中更新
【发布时间】:2020-10-20 09:23:28
【问题描述】:

您好,我在 docker 环境中运行的 ruby​​ on rails 应用程序遇到问题。当我在我的应用程序中更新我的 scss 文件并使用docker-compose builddocker-compose up 运行它时,我更新的 scss 不会根据我应用的更改进行更新。

我在app/assets/stylesheets/application.css.scss 目录中配置了一些东西:

application.css.scss

@import "front/style";

我添加了一个名为 front 的文件夹,并在名为 style.scssstylesheets/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 assetsrake 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:cleanrake assets:precompile 也不会改变?

【问题讨论】:

  • 你能显示 docker-compose 文件吗?

标签: css ruby-on-rails ruby docker sass


【解决方案1】:

您好,删除public/assets 目录中的assets 文件夹似乎解决了这个问题。而且在我的Application.js 中,我已将涡轮链接从//= require jquery.turbolinks 更改为//= require turbolinks。不知道它是如何解释的,但这解决了我确实将 gem 添加到我的 Gemfile gem 'turbolinks', '~&gt; 5.2.0' 的问题,这可能是因为我使用了一些已弃用的 gem。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-06
    • 2017-07-04
    • 1970-01-01
    • 2017-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多