I am working on a spree store and have Amazon s3 working just fine on the main app. I added the spree-blogging-spree gem by just following the read me instructions but I am now getting a missing required :bucket option error when I try to edit post or add an image. This is only for blog related edits and images everything else is still working fine.
I know this is referring to s3 but I am not sure why it is showing up now. Is there a migration I missed or some kind of config file I need to add?
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
I figured it out I had to add my s3 credentials to the 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