2016-11-09 97 views
2

我在heroku日志上收到此错误。在亚马逊S3上创建新桶并添加我的密钥后,我现在收到此错误。我还添加了我的钥匙/桶名称的Heroku,如下所示:ActionView :: Template :: Error(缺少必需:存储区选项)

=== 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 

同时也可在我的Rails应用程序enviroments/production.rb

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的日志:

2016-11-09T19:10:32.544099+00:00 app[web.1]: [6df3c971-b288-4b7e-893e-dcea2f2ef537] ActionView::Template::Error (missing required :bucket option): 
2016-11-09T19:10:32.544249+00:00 app[web.1]: [6df3c971-b288-4b7e-893e-dcea2f2ef537]  15: <tbody> 
2016-11-09T19:10:32.544275+00:00 app[web.1]: [6df3c971-b288-4b7e-893e-dcea2f2ef537]  16:  <% @pins.each do |pin| %> 
2016-11-09T19:10:32.544676+00:00 app[web.1]: [6df3c971-b288-4b7e-893e-dcea2f2ef537]  17:  <tr> 
2016-11-09T19:10:32.544707+00:00 app[web.1]: [6df3c971-b288-4b7e-893e-dcea2f2ef537]  18:   <td><%= image_tag pin.image.url %></td> 
2016-11-09T19:10:32.544734+00:00 app[web.1]: [6df3c971-b288-4b7e-893e-dcea2f2ef537]  19:   <td><%= pin.description %></td> 
2016-11-09T19:10:32.544764+00:00 app[web.1]: [6df3c971-b288-4b7e-893e-dcea2f2ef537]  20:   <td><%= pin.user.email if pin.user %></td> 
2016-11-09T19:10:32.544790+00:00 app[web.1]: [6df3c971-b288-4b7e-893e-dcea2f2ef537]  21:   <td><%= link_to 'Show', pin %></td> 
2016-11-09T19:10:32.544818+00:00 app[web.1]: [6df3c971-b288-4b7e-893e-dcea2f2ef537] 
2016-11-09T19:10:32.544854+00:00 app[web.1]: [6df3c971-b288-4b7e-893e-dcea2f2ef537] app/views/pins/index.html.erb:18:in `block in _app_views_pins_index_html_erb___1097567776692289569_70248207788000' 
2016-11-09T19:10:32.544884+00:00 app[web.1]: [6df3c971-b288-4b7e-893e-dcea2f2ef537] app/views/pins/index.html.erb:16:in `_app_views_pins_index_html_erb___1097567776692289569_70248207788000' 

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

+0

你在HEROKU上设置了ENV ['mypinterestingapp']吗? –

+0

你的意思是我的帖子顶部列出的'heroku配置'?另外,在我的配置变量的Heroku网站上,我的AWS_BUCKET命名正确的'mypinterestingapp',如果这是你所指的。 – Benjamints

回答

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'时,你应该找ENV['AWS_BUCKET'],它不存在。

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

+0

谢谢尼克! – Benjamints

+0

我的荣幸@Benjamints。请小心他们AWS的信誉。你甚至可以考虑换掉钥匙,因为在我编辑之前有人可能会复制它们。 –

相关问题