Rails 7 中的文件附件固定装置未正确附加
File attachment fixtures in Rails 7 not attaching correctly
我正在逐字执行 guide here,但是当我 运行 我的系统测试时,我尝试上传的文件似乎没有附加到我的夹具上。我相信我已经正确设置了所有内容,因为我确实看到上传的文件位于临时目录 (tmp/storage_fixtures) 中,因此无论出于何种原因它都没有将自己附加到模型中。这是我的文件:
towns.yml
toronto:
id: 1
name: Toronto
blobs.yml
toronto_map_image_blob: <%= ActiveStorage::FixtureSet.blob filename: "toronto_map.png", service_name: "test_fixtures" %>
attachments.yml
toronto_map_image:
name: map_image
record: toronto (Town)
blob: toronto_map_image_blob
config/storage.yml
test_fixtures:
service: Disk
root: <%= Rails.root.join("tmp/storage_fixtures") %>
town.rb
class Town < ApplicationRecord
has_one_attached :map_image
end
原来我遇到的问题是在 towns fixture 中定义一个 id。一旦我删除它并允许 id 自动生成,它就起作用了。这解释了为什么附件夹具无法正确地将自己分配给城镇模型(尽管我不确定为什么在这种情况下使用自定义 ID 不起作用,如果有人有任何见解,我将不胜感激)。
我正在逐字执行 guide here,但是当我 运行 我的系统测试时,我尝试上传的文件似乎没有附加到我的夹具上。我相信我已经正确设置了所有内容,因为我确实看到上传的文件位于临时目录 (tmp/storage_fixtures) 中,因此无论出于何种原因它都没有将自己附加到模型中。这是我的文件:
towns.yml
toronto:
id: 1
name: Toronto
blobs.yml
toronto_map_image_blob: <%= ActiveStorage::FixtureSet.blob filename: "toronto_map.png", service_name: "test_fixtures" %>
attachments.yml
toronto_map_image:
name: map_image
record: toronto (Town)
blob: toronto_map_image_blob
config/storage.yml
test_fixtures:
service: Disk
root: <%= Rails.root.join("tmp/storage_fixtures") %>
town.rb
class Town < ApplicationRecord
has_one_attached :map_image
end
原来我遇到的问题是在 towns fixture 中定义一个 id。一旦我删除它并允许 id 自动生成,它就起作用了。这解释了为什么附件夹具无法正确地将自己分配给城镇模型(尽管我不确定为什么在这种情况下使用自定义 ID 不起作用,如果有人有任何见解,我将不胜感激)。