ActionView :: Template :: Error(缺少必需:bucket选项)

时间:2016-11-09 19:22:46

标签: ruby-on-rails ruby ruby-on-rails-3 heroku

我在heroku日志中收到此错误。我现在在亚马逊s3上创建一个新桶并添加我的密钥后收到此错误。我还将我的键/桶名称添加到heroku,如下所示:

dynamic_cast

还有我的rails app中的环境/ production.rb

=== benjaminsunderland Config Vars
AWS_ACCESS_KEY_ID:        my_access_key
AWS_BUCKET:               mypinterestingapp
AWS_SECRET_ACCESS_KEY:    my_secret_key
DATABASE_URL:             my_database_url
LANG:                     en_US.UTF-8
RACK_ENV:                 production
RAILS_ENV:                production
RAILS_LOG_TO_STDOUT:      enabled
RAILS_SERVE_STATIC_FILES: enabled
SECRET_KEY_BASE:          my_secret_key_base

我在heroku日志中的错误:

config.paperclip_defaults = {
  :storage => :s3,
  :s3_credentials => {
    :bucket => ENV['mypinterestingapp'],
    :access_key_id => ENV['AWS_ACCESS_KEY_ID'],
    :secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
  }
}

我做错了,因为heroku提出了这个错误,而不是rails应用程序。我有拼写错误吗?您可以看到我在我的production.rb中将AWS_BUCKET命名为完全相同。

1 个答案:

答案 0 :(得分:0)

你需要:

config.paperclip_defaults = {
  :storage => :s3,
  :s3_credentials => {
    :bucket => ENV['AWS_BUCKET'],
    :access_key_id => ENV['AWS_ACCESS_KEY_ID'],
    :secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
  }
}

现在,当您应该查找不存在的ENV时,您正在寻找名为'mypinterestingapp'的{​​{1}}变量。

此外,我使用一些通用占位符替换了上面代码示例中的实际凭据。在SO问题中发布实际凭证绝不是一个好主意;)