好的,所以我正在努力让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
任何帮助都会很棒!
答案 0 :(得分:0)
首先检查您的amazon_s3.yml
文件是否已签入git,如果是,那么您可以尝试以某种方式手动指定位置。如果s3_backend.rb中的类有办法设置路径,你可以这样做:
S3Backend.s3_config_path = #{RAILS_ROOT}/config/amazon_s3.yml"
我建议把它放在初始化器中。