Rails / Heroku / Assets不包括在内

时间:2012-09-11 10:25:02

标签: ruby-on-rails heroku asset-pipeline assets

我有一个使用redactor(一个所见即所得编辑器)的应用程序,它在本地完美运行,当我上传它时它也可以工作,除了配置文件,它位于子文件夹中,当推送到Heroku时做任何事情。我试过预编译,使用:

RAILS_ENV=production bundle exec rake assets:precompile

bundle exec rake assets:precompile

我有config.assets.enabled = false

不能在Heroku上运行的config.js文件作为redactor-rails / config

包含在application.js中

可能是什么问题?

1 个答案:

答案 0 :(得分:6)

在推送之前,您是否已将config.js添加到本地git存储库?

[编辑]

还有几件事需要检查。您使用的是redactor-rails gem,如果是,那么它是否在您的gemfile中?

gem 'jquery-rails'
gem 'redactor-rails'

你的gemfile.lock是否签入了git?

[编辑2]

我现在已经对此进行了测试,实际上,redactor-rails存在问题,导致自定义配置被gem的默认设置覆盖。

在github repo上,有一个解决方案,我已在heroku上测试过,并在此复制:

  

rails generate redactor:config生成文件app\assets\redactor-rails\config.js。   这在资产管道中无法正常执行rake assets:precompile任务   仍然会从宝石而不是应用程序中取config.js(而不是它可以正常工作)   虽然发展)。见Overriding backend assets in production environment

     

解决方案是创建您自己的config.js(或任何文件名),并将其放在您的>应用程序资产中的任何位置。然后,当需要redactor而不是//= require redactor-rails时,请使用:

//= require redactor-rails/redactor.min
//= require path/to/custom/config

适合我。希望有所帮助。 https://github.com/SammyLin/redactor-rails/issues/16