And*_*rew 6 ruby-on-rails rails-activestorage ruby-on-rails-6
红宝石'2.7.1'/rails 6.0.3.2
我无法让本地活动存储附件工作。这是我的设置:
我跑了:
$ rails active_storage:install
$ rake db:migrate
Run Code Online (Sandbox Code Playgroud)
模型架构
create_table "amazon_uploads" do |t|
t.string "status"
t.string "order_csv"
t.datetime "created_at", precision: 6, null: false
t.datetime "updated_at", precision: 6, null: false
end
Run Code Online (Sandbox Code Playgroud)
模型:
class AmazonUpload < ApplicationRecord
has_many :amazon_upload_recipients
has_one_attached :order_csv
end
Run Code Online (Sandbox Code Playgroud)
我的存储.yml
test:
service: Disk
root: <%= Rails.root.join("tmp/storage") %>
local:
service: Disk
root: <%= Rails.root.join("storage") %>
Run Code Online (Sandbox Code Playgroud)
我的development.rb包含:
config.active_storage.service = :local
Run Code Online (Sandbox Code Playgroud)
然后在我的代码中我这样做:
$ rails active_storage:install
$ rake db:migrate
Run Code Online (Sandbox Code Playgroud)
最后一行失败
NameError: uninitialized constant #<Class:0x0000564c2f7e8638>::Analyzable
Run Code Online (Sandbox Code Playgroud)
我能看到的唯一其他参考这个错误的人声称他们有一个类型,但我不认为这是这里的问题
小智 2
这是 zeitwerk bug,你可以将 Rails 版本升级到 6.1.x,一切都会正常工作
如果您不想升级 - 通过添加 application.rb 切换到经典加载模式
config.autoloader = :classic
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2052 次 |
| 最近记录: |