我已经利用新的ActionText功能构建了一个小型Rails 6应用程序。但是,ActiveAdmin中似乎不支持新字段类型(rich_text_area)
我已经尝试使用gem active_admin_trix,它可以正常工作(如果您在active_admin中加载trix v1.2,但它不会在编辑字段中显示该字段的现有值,则为该字段
我也尝试过仅加载trix库并使用f.rich_text_area即:
form do |f|
f.semantic_errors *f.object.errors.keys
f.inputs do
f.input :name
f.rich_text_area :description
end
f.actions
end
虽然这可以正常工作,但它不会显示“标签”,因为该字段不能正确地放置在ActiveAdmin布局的一侧。但是,它确实可以正确显示当前内容
其他人是否已在ActiveAdmin中成功使用ActionText
我的猜测是需要Formtastic支持,但是我也无法在Formtastic中找到有关ActionText支持的任何信息
我解决了创建自定义格式输入和CSS的问题
我在app / admin / imputs / action_text_input.rb中放置了以下内容
class ActionTextInput < Formtastic::Inputs::StringInput
def to_html
input_wrapping do
editor_tag_params = {
input: input_html_options[:id],
class: 'trix-content'
}
editor_tag = template.content_tag('trix-editor', '', editor_tag_params)
hidden_field = builder.hidden_field(method, input_html_options)
label_html + hidden_field + editor_tag
end
end
end
将以下内容添加到/app/assets/stylesheets/avtive_admin.scss的末尾
.active_admin {
form trix-editor {
margin-left: 20%;
width: calc(80% - 17px);
}
}
然后您以ActiveAdmin形式使用它来调用它
f.input :your_active_text_field, as: :action_text