【问题标题】:CSS changes when pushing to Heroku推送到 Heroku 时 CSS 更改
【发布时间】:2014-12-21 04:02:45
【问题描述】:

我已经尝试了许多解决此问题的方法,但都没有成功。我最近安装了 CKEditor gem 并且必须对资产编译设置进行一些配置,这可能会造成一些问题。我的应用程序在本地运行良好,但是当我推送到 Heroku 时,一些 CSS 被修改,当我检查页面时,我看到 CSS 中的设置称为“代码”,但我没有放在那里。这是来自检查员:

code {
  padding: 2px 4px;
  font-size: 90%;
  color: #c7254e;
  background-color: #f9f2f4;
  border-radius: 4px;
}

我的一些元素现在正在继承其中的一些属性。还有一些 div 也显示为空:

<code></code>

我确定这与某种资产管道设置有关。

来自我的 application.rb:

config.assets.initialize_on_precompile = false

config.autoload_paths += %W(#{config.root}/app/models/ckeditor)
config.assets.precompile += Ckeditor.assets
config.assets.precompile += %w(ckeditor/*)

config.assets.precompile += [
  'styles.css.scss'
]

生产.rb:

config.serve_static_assets = false
config.assets.compile = true
config.assets.digest = true
config.assets.version = '1.0'

这是我用于 CKEditor 配置的 javascripts:

<%
 base_path = ''
 if ENV['PROJECT'] =~ /editor/i
  base_path << "/#{Rails.root.basename.to_s}/"
 end
 base_path << Rails.application.config.assets.prefix
 base_path << '/ckeditor/'
%>
var CKEDITOR_BASEPATH = '<%= base_path %>';

【问题讨论】:

    标签: css ruby-on-rails-4 heroku assets


    【解决方案1】:

    我发现了这个问题。当我开始使用 CKEditor 时,我不能只使用

    在我的索引页面上显示我的帖子
    <%= post.body %>
    

    因为它会显示页面上的所有代码。字面意思是这样的:

    <p>My paragraph would be here</p>
    

    我通过使用以下代码解决了这个问题:

    <%= raw truncate(post.body, length: 800, :escape => false) %>
    

    它在本地工作得很好,但是当我推送到 Heroku 时,它会在渲染页面时导致任何跟随它的 CSS 出现奇怪的行为。我需要阅读更多内容:escape 以了解它在生产页面上的全部效果。我可以使用:

    <%= raw post.body %>
    

    正确显示页面,但不截断正文部分,这最终是我想要的。我会尝试单独解决。

    编辑:影响页面的不是 :escape,而是 truncate 方法。我也试过 post.body.html_safe.truncate(800) 和 raw post.body.truncate(800) 没有成功。

    【讨论】:

      猜你喜欢
      • 2014-01-25
      • 2011-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-18
      • 2021-05-07
      • 2019-12-14
      • 1970-01-01
      相关资源
      最近更新 更多