Liz*_*Liz 9 ruby-on-rails amazon-s3
我正在尝试使用ActiveStorage和aws s3替换带有图像上传的折旧(对于Rails 5.2)回形针.我正在使用本指南和GoRails剧集,但遇到了我无法解析的控制台错误.在我的表单上看起来一切都很好,但是当我去提交时,我会在我的控制台中看到它:
activestorage.self-6e8d967adecc8b2a7259df0f51ef5b6f171c33267c7d149a474beccd90c68697.js?body=1:1 POST http://localhost:3000/rails/active_storage/direct_uploads 500 (Internal Server Error)
Run Code Online (Sandbox Code Playgroud)
我在blogs#new_ 上有这个form.html.erb:
<div class="form-group">
<%= f.label "Picture" %>
<%= f.file_field :image, direct_upload: true %>
</div>
Run Code Online (Sandbox Code Playgroud)
我把它放在我的模型中:
has_one_attached :image
Run Code Online (Sandbox Code Playgroud)
我有:image我的参数
def blog_params
params.require(:blog).permit(:title, :teaser, :body, :user_id, :tag_list, :link_text, :link_filename, :pillars_id, :image)
end
Run Code Online (Sandbox Code Playgroud)
我把它添加到我的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
Run Code Online (Sandbox Code Playgroud)
这在我的开发环境中:
config.active_storage.service = :amazon
Run Code Online (Sandbox Code Playgroud)
我在上面链接的RubyOnRails指南中包含了javascript/css.有谁知道这个错误来自哪里?我对调试控制台错误不太熟悉,所以任何信息或智慧都值得赞赏.
附加信息
这是我的Rails控制台中发生的错误:
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
Run Code Online (Sandbox Code Playgroud)
其他说明
当我尝试创建没有图像的博客时,我收到此错误:
undefined method `[]=' for nil:NilClass
Run Code Online (Sandbox Code Playgroud)