尝试使用Rails ActiveStorage和Amazon AWS S3直接上传时出现控制台错误

时间:2018-07-12 21:11:41

标签: ruby-on-rails amazon-s3

我正在尝试使用ActiveStorage和AWS s3将已贬值的(对于Rails 5.2)回形针替换为图像上传。我正在使用this指南及其上的GoRails情节,但遇到无法解析的控制台错误。表单上的一切看起来都不错,但是当我提交时,可以在控制台中找到它:

activestorage.self-6e8d967adecc8b2a7259df0f51ef5b6f171c33267c7d149a474beccd90c68697.js?body=1:1 POST http://localhost:3000/rails/active_storage/direct_uploads 500 (Internal Server Error)

我在我的blogs#new _ form.html.erb上有这个名字:

<div class="form-group">
  <%= f.label "Picture" %>
  <%= f.file_field :image, direct_upload: true %>
</div>

我将其放入模型中

has_one_attached :image

我的参数中有:image

def blog_params
  params.require(:blog).permit(:title, :teaser, :body, :user_id, :tag_list, :link_text, :link_filename, :pillars_id, :image)
end

我将此添加到了storage.yml

Use rails credentials:edit to set the AWS secrets (as aws:access_key_id|secret_access_key)
amazon:
  service: S3
  access_key_id: <%= ENV["AWS_ACCESS_KEY_ID"] %>
  secret_access_key: <%= ENV["AWS_SECRET_ACCESS_KEY"] %>
  region: us-west-1
  bucket: nameofbucket

这在我的开发环境中:

config.active_storage.service = :amazon

我包括了上面链接的RubyOnRails指南中的javascript / css。有人看到此错误来自何处吗?我对调试控制台错误的经验不是很丰富,因此任何信息或智慧都值得赞赏。

其他信息

这是我的Rails Console中发生的错误:

LoadError - Unable to autoload constant ActiveStorage::Blob::Analyzable, expected /Users/lizbayardelle/.rvm/gems/ruby-2.3.3/gems/activestorage-5.2.0/app/models/active_storage/blob/analyzable.rb to define it:

::1 - - [12/Jul/2018:13:56:05 PDT] "POST /rails/active_storage/direct_uploads HTTP/1.1" 500 7784
http://localhost:3000/blogs/new -> /rails/active_storage/direct_uploads

其他说明

当我尝试创建没有图片的博客时,出现此错误:

undefined method `[]=' for nil:NilClass

0 个答案:

没有答案