gpt4 book ai didi

ruby-on-rails - ActionView::Template::Error(缺少必需的 :bucket 选项)

转载 作者:太空宇宙 更新时间:2023-11-03 16:43:07 25 4
gpt4 key购买 nike

我在 heroku 日志中收到此错误。在 amazon s3 上创建新存储桶并添加我的 key 后,我现在收到此错误。我还将我的 key /存储桶名称添加到 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

还有我的 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 命名为完全相同。

最佳答案

你需要:

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 问题中发布实际凭据从来都不是一个好主意;)

关于ruby-on-rails - ActionView::Template::Error(缺少必需的 :bucket 选项),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40514482/

25 4 0