【问题标题】:Spree-blogging-spree missing required :bucket optionSpree-blogging-spree 缺少必需的:bucket 选项
【发布时间】:2017-03-30 21:29:29
【问题描述】:

我在一家狂欢商店工作,并且让 Amazon s3 在主应用程序上运行良好。我只是按照自述说明添加了 spree-blogging-spree gem,但是当我尝试编辑帖子或添加图像时,我现在得到一个缺少的 required :bucket 选项错误。这仅适用于与博客相关的编辑和图像,其他一切仍然正常。

我知道这是指 s3,但我不确定它为什么现在出现。是否有我错过的迁移或我需要添加的某种配置文件?

Showing /usr/local/rvm/gems/ruby-2.3.0/bundler/gems/spree-blogging-spree-81da8dd081a5/app/views/spree/admin/blog_entries/_form.html.erb where line #85 raised:

missing required :bucket option
Extracted source (around line #242):
240
241
242
243
244
245

        @bucket = @options[:bucket] || s3_credentials[:bucket]
        @bucket = @bucket.call(self) if @bucket.respond_to?(:call)
        @bucket or raise ArgumentError, "missing required :bucket option"
      end

      def s3_interface

Trace of template inclusion: /usr/local/rvm/gems/ruby-2.3.0/bundler/gems/spree-blogging-spree-81da8dd081a5/app/views/spree/admin/blog_entries/edit.html.erb

Rails.root: /home/ubuntu/workspace/mumbles_spree

【问题讨论】:

    标签: ruby-on-rails amazon-s3 spree


    【解决方案1】:

    我发现我必须将我的 s3 凭据添加到 blog_entry_image.rb:

    app/models/spree/blog_entry_image.rb

    class Spree::BlogEntryImage < Spree::Image
      has_attached_file :attachment, 
         :styles => {:mini => '48x48#', :normal => '200x200>', :large => '600x600>'},
         :default_style => :large,
         :url => "/assets/blog_entry_images/:id/:style/:basename.:extension",
         :path => ":rails_root/public/assets/blog_entry_images/:id/:style/:basename.:extension" ,
          storage: :s3,
                      s3_credentials: {access_key_id: 'xxx', 
                      secret_access_key:  'xxx'},
                      bucket: 'xxx'
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-12
      • 1970-01-01
      • 2014-05-31
      • 2013-07-25
      • 2017-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多