重新归档多个附件的元数据
Refile Metadata for Multiple Attachments
使用 refile gem,我想保存多个上传的文件名。我也在 github here, but want to reach out to SO also. It's actually noted here on SO 上开了一个问题。
根据自述文件,我应用了正确的 strong_params,我可以看到它们在日志中是允许的,但不要写入数据库。
A :story
accepts_attachments_for :documents
,并且我为 Documents
class.
正确设置了元数据
当我提交时,没有任何东西被拒绝——我可以在日志中看到参数被接受,但元数据(文件名等)没有被保存。
我从哪里开始?
来源:
class Attachment < ApplicationRecord
attachment :file
end
class Problem < ApplicationRecord
has_many :attachments, dependent: :destroy
accepts_attachments_for :attachments, append: true, attachment: :file
end
和控制器参数:
def mp_problem_params
params.require(:problem).permit(:title, attachments_files: [])
end
我的 Attachment.rb 列:
=> ["id",
"attachment_filename",
"knowledge_id",
"attachment_size",
"content_type",
"created_at",
"updated_at",
"file_id"]
基于 refile documentation,元数据存储在您已设置为 attachment
的 object/model 上。在您的情况下,Attachment
模型。它还期望存在某些列以存储元数据。根据您的 attachment
模型:
class Attachment < ApplicationRecord
attachment :file
end
然后您必须在 attachments
table 中出现以下列:
file_filename
file_size
file_content_type
如果您将这些列添加到 attachments
table,那么文件的元数据将被存储。
使用 refile gem,我想保存多个上传的文件名。我也在 github here, but want to reach out to SO also. It's actually noted here on SO 上开了一个问题。
根据自述文件,我应用了正确的 strong_params,我可以看到它们在日志中是允许的,但不要写入数据库。
A :story
accepts_attachments_for :documents
,并且我为 Documents
class.
当我提交时,没有任何东西被拒绝——我可以在日志中看到参数被接受,但元数据(文件名等)没有被保存。
我从哪里开始?
来源:
class Attachment < ApplicationRecord
attachment :file
end
class Problem < ApplicationRecord
has_many :attachments, dependent: :destroy
accepts_attachments_for :attachments, append: true, attachment: :file
end
和控制器参数:
def mp_problem_params
params.require(:problem).permit(:title, attachments_files: [])
end
我的 Attachment.rb 列:
=> ["id",
"attachment_filename",
"knowledge_id",
"attachment_size",
"content_type",
"created_at",
"updated_at",
"file_id"]
基于 refile documentation,元数据存储在您已设置为 attachment
的 object/model 上。在您的情况下,Attachment
模型。它还期望存在某些列以存储元数据。根据您的 attachment
模型:
class Attachment < ApplicationRecord
attachment :file
end
然后您必须在 attachments
table 中出现以下列:
file_filename
file_size
file_content_type
如果您将这些列添加到 attachments
table,那么文件的元数据将被存储。