ActionView::Template::Error(缺少必需的 :bucket 选项)
ActionView::Template::Error (missing required :bucket option)
我在 heroku 日志中收到此错误。在 amazon s3 上创建新存储桶并添加我的密钥后,我现在收到此错误。我还将我的 keys/bucket 名称添加到 heroku,如下所示:
=== 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
还有 enviroments/production.rb 在我的 rails 应用中
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 应用程序。我有错字吗?您可以看到我将 AWS_BUCKET 命名为与我的 production.rb.
完全相同
你需要:
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']
}
}
现在您正在寻找一个名为 'mypinterestingapp'
的 ENV
变量,而您应该寻找 ENV['AWS_BUCKET']
,但它不存在。
此外,我用一些通用占位符替换了上面代码示例中的实际凭据。在 SO 问题中 post 实际凭据从来不是一个好主意 ;)
我在 heroku 日志中收到此错误。在 amazon s3 上创建新存储桶并添加我的密钥后,我现在收到此错误。我还将我的 keys/bucket 名称添加到 heroku,如下所示:
=== 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
还有 enviroments/production.rb 在我的 rails 应用中
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 应用程序。我有错字吗?您可以看到我将 AWS_BUCKET 命名为与我的 production.rb.
完全相同你需要:
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']
}
}
现在您正在寻找一个名为 'mypinterestingapp'
的 ENV
变量,而您应该寻找 ENV['AWS_BUCKET']
,但它不存在。
此外,我用一些通用占位符替换了上面代码示例中的实际凭据。在 SO 问题中 post 实际凭据从来不是一个好主意 ;)