要在ActionText中实现自定义附件支持表格和白名单属性(如样式),可以按照以下步骤进行操作:
CustomAttachment
的模型,并包含一个file
字段用于存储附件文件。class CustomAttachment < ApplicationRecord
has_one_attached :file
end
has_rich_text
宏将自定义附件关联到模型中。例如,可以在一个名为Article
的模型中关联自定义附件。class Article < ApplicationRecord
has_rich_text :content
end
CustomAttachmentController
的控制器,并在其中定义一个show
方法用于呈现附件内容。class CustomAttachmentController < ApplicationController
def show
attachment = CustomAttachment.find(params[:id])
redirect_to attachment.file.service_url(disposition: 'inline')
end
end
attachment_url
方法来生成附件的URL,并在
标签中使用该URL来显示附件。<%= image_tag attachment_url(custom_attachment) %>
config/initializers/action_text.rb
文件中添加以下代码来添加自定义的附件类型。Rails.application.config.to_prepare do
ActionText::ContentHelper.allowed_attributes.add 'table', 'style'
ActionText::ContentHelper.allowed_attributes.add 'td', 'style'
ActionText::ContentHelper.allowed_attributes.add 'th', 'style'
ActionText::ContentHelper.allowed_attributes.add 'tr', 'style'
end
这样,就可以在ActionText中实现自定义附件支持表格和白名单属性(如样式)了。你可以根据自己的需求,在以上步骤的基础上进行修改和扩展。