1

由于最近的 Rails 安全问题,我升级了一些我使用的 gem。

将我的应用程序推送到 heroku 后,我看到一个错误(推送正常,但应用程序永远不会停止崩溃):

2013-02-12T00:12:49+00:00 app[web.1]: /app/vendor/bundle/ruby/1.9.1/gems/redactor-rails-0.3.3/lib/redactor-rails.rb:30:in `document_model': uninitialized constant RedactorRails::Document (NameError)
2013-02-12T00:12:49+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/redactor-rails-0.3.3/app/controller/redactor_rails/documents_controller.rb:2:in `<class:DocumentsController>'
2013-02-12T00:12:49+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/redactor-rails-0.3.3/app/controller/redactor_rails/documents_controller.rb:1:in `<top (required)>'
2013-02-12T00:12:49+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/engine.rb:439:in `block (2 levels) in eager_load!'
2013-02-12T00:12:49+00:00 app[web.1]:   from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.12/lib/rails/engine.rb:438:in `each'

当我在本地运行应用程序时,我没有看到这个问题。在本地,我使用的是 ruby​​ 1.9.3-p194,但看起来 Heroku 使用的是 Ruby 1.9.1。

关于如何解决这个问题的任何想法?

谢谢,林戈

4

2 回答 2

1

如果您使用的是 0.3.3 redactor-rails,请运行以下命令

rails generate redactor:install

这应该产生额外的,

app/uploaders/redactor_rails_document_uploader.rb

应用程序/模型/redactor_rails/document.rb

别的,

在您的 Gemfile 中将 redactor-rails 限制为 0.3.2 的早期版本

gem 'redactor-rails', '0.3.2'
于 2013-02-23T07:07:06.707 回答
1

您可以添加ruby "1.9.3"到您的 Gemfile 并使用 Ruby 1.9.3(我认为是 374 补丁...)。有关更多信息,请参见此处:https ://devcenter.heroku.com/articles/ruby-versions

更新:这实际上看起来像 Redactor-Rails gem 的错误:https ://github.com/SammyLin/redactor-rails/issues/44

于 2013-02-12T03:43:14.880 回答