gpt4 book ai didi

ruby-on-rails - 无法在 Rails 中使用 ActiveStorage 创建文件字段

转载 作者:数据小太阳 更新时间:2023-10-29 07:02:34 28 4
gpt4 key购买 nike

我正在尝试在 Rails 5.2 中使用 Active Storage。我发现我应该在迁移中创建类型为 file 的字段,但是我有一个错误:

$ 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 中找不到任何相关信息

我有事件存储的迁移,我通过了 ok

最佳答案

您需要在自己的迁移 (t.file :image) 中创建专用字段,而不是主动存储使用两个表,您 setup使用 rails active_storage:install。当您设置 storage.yml 时,您应该可以使用

has_one_attached :image

Dishes 模型中,无需创建 image 列。

关于ruby-on-rails - 无法在 Rails 中使用 ActiveStorage 创建文件字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47862308/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com