Elixir 如何在exmachina工厂中使用arc EXTO文件?
我有一个EXTO模式,它使用arc上传器作为字段类型Elixir 如何在exmachina工厂中使用arc EXTO文件?,elixir,ecto,arc-ecto,Elixir,Ecto,Arc Ecto,我有一个EXTO模式,它使用arc上传器作为字段类型 schema "files" do field :name, :string field :locked, :boolean, default: false field :mime_type, :string field :path, Splish.Assets.FilesUploader.Type field :size, :integer belongs_to :user, Splish
schema "files" do
field :name, :string
field :locked, :boolean, default: false
field :mime_type, :string
field :path, Splish.Assets.FilesUploader.Type
field :size, :integer
belongs_to :user, Splish.Accounts.User
timestamps()
end
我想为此添加一个exmachina工厂
def file_factory do
%File{
name: "Gyldendal",
locked: false,
mime_type: "png",
size: 200,
# path: "test/support/image.png",
user: insert(:user)
}
end
我该怎么做呢?来自
上传定义文件响应Avatar.store/1,该文件接受
要么:
- 本地文件的路径
- 远程http或https文件的路径
- 带有文件名和路径键的映射(例如,一个%Plug.Upload{})
- 带有文件名和二进制键的映射(例如,%{filename:“image.png”,binary:})
- 由上述文件格式之一和范围对象组成的两元组
@file_upload %Plug.Upload{
content_type: "image/png",
filename: "image.png",
path: "test/support/image.png" }
def file_factory do
%File{
name: "Gyldendal",
locked: false,
mime_type: "png",
size: 200,
path: @file_upload, # or with scope {@file_upload, %File{}}
user: insert(:user)
}
end