我如何在ActiveAdmin表单块中使用rails 6 ActionText字段

问题描述 投票:1回答:1

我已经利用新的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支持的任何信息

activeadmin formtastic ruby-on-rails-6 actiontext
1个回答
0
投票

我解决了创建自定义格式输入和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
© www.soinside.com 2019 - 2024. All rights reserved.