我正在尝试使用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