Heroku和Refinerycms:应用程序无法启动〜attachment_fu问题

时间:2010-03-03 13:50:05

标签: ruby-on-rails amazon-s3 heroku attachment-fu

好的,所以我正在努力让Refinerycms与Heroku合作,而且我是新手。我已经设置了一个亚马逊s3帐户,并为amazon_s3.yml文件添加了密钥和ID。

在gart.heroku.com上的Heroku上发布时出现以下错误:

App无法启动

/disk1/home/slugs/141557_e8490b3_d5eb/mnt/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu/backends/s3_backend.rb:187:in read': No such file or directory - /disk1/home/slugs/141557_e8490b3_d5eb/mnt/config/amazon_s3.yml (Errno::ENOENT) from /disk1/home/slugs/141557_e8490b3_d5eb/mnt/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu/backends/s3_backend.rb:187:in包含'     来自/disk1/home/slugs/141557_e8490b3_d5eb/mnt/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu.rb:123:in include' from /disk1/home/slugs/141557_e8490b3_d5eb/mnt/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu.rb:123:in has_attachment'     来自/disk1/home/slugs/141557_e8490b3_d5eb/mnt/app/models/image.rb:13     来自/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in gem_original_require' from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in require'     来自/usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:158:in require' from /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:265:in require_or_load'      ...... 42级......     来自/usr/local/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/builder.rb:29:in instance_eval' from /usr/local/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/builder.rb:29:in initialize'     来自/home/heroku_rack/heroku.ru:1:in“new”     来自/home/heroku_rack/heroku.ru:1

s3_backend.rb第187行包含:

@@ s3_config = @@ s3_config = YAML.load(ERB.new(File.read(@@ s3_config_path))。result)[RAILS_ENV] .symbolize_keys

任何帮助都会很棒!

1 个答案:

答案 0 :(得分:0)

首先检查您的amazon_s3.yml文件是否已签入git,如果是,那么您可以尝试以某种方式手动指定位置。如果s3_backend.rb中的类有办法设置路径,你可以这样做:

S3Backend.s3_config_path = #{RAILS_ROOT}/config/amazon_s3.yml"

我建议把它放在初始化器中。