【问题标题】:How to fix s3/paperclip/rails template error missing :bucket option?如何修复 s3/paperclip/rails 模板错误丢失:bucket 选项?
【发布时间】:2013-12-12 14:52:57
【问题描述】:

当我尝试在生产中的 Rails 应用程序中使用回形针和 s3 时,我收到一条错误消息“ActionView::Template::Error (missing required :bucket option)”。

我的 production.rb 有:

config.paperclip_defaults = {
  :storage => :s3,
  :s3_credentials => {
    :bucket => ENV['rockywolf'],
    :access_key_id => ENV['dsfa'],
    :secret_access_key => ENV['fdsa']
  }
}

当我运行 heroku 配置时,我有:

AWS_ACCESS_KEY_ID:          dsfa
AWS_SECRET_ACCESS_KEY:      fdsa
S3_BUCKET_NAME:             rockywolf
bucket:                     rockywolf

关于如何解决这个问题的任何建议?

2013-12-12T14:44:59.342109+00:00 app[web.1]: ActionView::Template::Error (missing required :bucket option):
2013-12-12T14:44:59.342109+00:00 app[web.1]:     38:         <!-- End image -->
2013-12-12T14:44:59.342109+00:00 app[web.1]:     33:         <!-- Image -->
2013-12-12T14:44:59.342109+00:00 app[web.1]:     34:         <div class="col-md-3">
2013-12-12T14:44:59.342109+00:00 app[web.1]:     35:           <%= image_tag product.avatar.url(:medium), :class => "featurette-image img-responsive", :alt => "#{product.name}" %>
2013-12-12T14:44:59.342109+00:00 app[web.1]:     36: 
2013-12-12T14:44:59.342109+00:00 app[web.1]:     37:         </div>
2013-12-12T14:44:59.342296+00:00 app[web.1]:   app/views/products/latest.html.erb:6:in `_app_views_products_latest_html_erb___978491162299015895_69950414232980'
2013-12-12T14:44:59.342296+00:00 app[web.1]: 
2013-12-12T14:44:59.342109+00:00 app[web.1]: 
2013-12-12T14:44:59.342296+00:00 app[web.1]: 
2013-12-12T14:44:59.342109+00:00 app[web.1]:   app/views/products/latest.html.erb:35:in `block in _app_views_products_latest_html_erb___978491162299015895_69950414232980'
Sharats-MacBook-Pro:rockywolf sharatakasapu$ 

【问题讨论】:

    标签: ruby-on-rails heroku amazon-s3 paperclip


    【解决方案1】:

    env 键应该是配置的名称。

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

    【讨论】:

    • 我不应该在这个文件中实际输入存储桶名称、访问密钥 ID 和秘密访问密钥的值吗?
    • 否,否则使用 env 将毫无意义。您可以直接对值进行硬编码。 ENV 的目的是因为您可以使用 Heroku 配置变量分离硬编码值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-04
    • 1970-01-01
    • 2013-07-25
    • 2014-05-31
    • 2013-08-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多