• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

无法在Rails中使用ActiveStorage创建文件字段

ruby-on-rails 来源:zishe 8次浏览

我正尝试在Rails 5.2中使用Active Storage。我发现,我应该在迁移file类型创建领域,但我有一个错误:无法在Rails中使用ActiveStorage创建文件字段

$ rdm 
Running via Spring preloader in process 40193 
== 20171217191942 CreateDishes: migrating 
===================================== 
-- create_table(:dishes) 
rake aborted! 
StandardError: An error has occurred, this and all later migrations canceled: 

undefined method `file' for #<ActiveRecord::ConnectionAdapters::PostgreSQL::TableDefinition:0x00007fd56e297750> 
/Users/alder/Projects/_apps/service_exchange/rails-backend/db/migrate/20171217191942_create_dishes.rb:6:in `block in change' 
/Users/alder/Projects/_apps/service_exchange/rails-backend/db/migrate/20171217191942_create_dishes.rb:3:in `change' 
-e:1:in `<main>' 

迁移:

class CreateDishes < ActiveRecord::Migration[5.2] 
    def change 
    create_table :dishes do |t| 
     t.string :name, index: true 
     t.string :description 
     t.file :image 

     t.timestamps 
    end 
    end 
end 

我试图创建字符串字段,但它不工作。

找不到关于在official docs

我有主动式存储迁移和我通过什么好的


===========解决方案如下:

相反,你需要在自己的迁移创建一个专用领域的一个文件(t.file :image)主动存储使用两个表,你setup与rails active_storage:install。 当您建立storage.yml你应该能够使用

has_one_attached :image 


Dishes模型中

,而无需创建image列。


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)