推送到Heroku时CSS会发生变化

时间:2014-10-25 13:13:19

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

我已经针对这个问题尝试了一些修复但尚未成功。我最近安装了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'
]

production.rb:

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

这是我的Cavasditor配置的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 %>';

1 个答案:

答案 0 :(得分:0)

我想出了这个问题。当我开始使用CKEditor时,我无法在我的索引页面上显示我的帖子

<%= post.body %>

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

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

我使用此代码解决了这个问题:

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

它在本地完美地工作,但是当我推送到Heroku时,它在渲染页面时引起了跟随它的任何CSS的奇怪行为。我需要阅读:逃避更多,以了解它在生产页面上的完整效果。我可以使用:

<%= raw post.body %>

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

编辑:它不是:逃避影响页面,它是截断方法。我也尝试了post.body.html_safe.truncate(800)和raw post.body.truncate(800)但没有成功。