activeadmin 自定义页面上的 CKEditor

CKEditor on custom page in activeadmin

我遇到了以下问题:

我想在自定义页面(无模型)上添加表单来为 mailjet 设计电子邮件。我已经有了一个自定义页面和一个带有 CKEditor 输入和主题输入的表单。但是页面上没有显示主题字段。

这是我的代码:

ActiveAdmin.register_page "Mail", namespace: :lku do

  def send_mail

  end

  content do
    panel 'Write mail' do

      semantic_form_for :mail, :url => "lku/send_mail", method: :post do |f|

        f.inputs do
          f.input :subject, :input_html => { :name => 'subject' }
        end
        f.inputs do

        f.input :text, as: :ckeditor, :input_html => { :name => 'text' }
        end
      end
    end
  end
end

这是结果:

当我添加

f.actions

看起来像这样

有人可以帮我吗?

我能够在没有 ckeditor 的情况下重现该问题。仅显示表单的最后一个元素。

我不知道到底发生了什么,但这与 Arbre 如何呈现您在 content 块内生成的内容有关。

我的解决方案是这样的

  1. 将表格内容转成.erb,将表格移动到views/lku/mail/_mailform.html.erb

    <%= semantic_form_for :mail do |f| %>
      <%= f.inputs do %>
        <%= f.input :subject %>
        <%= f.input :text %>
      <% end %>
      <%= f.actions %>
    <% end %>
    
  2. 在页面中包含表单

    content do
      panel 'Write mail' do
        render partial: 'mailform'      
      end
    end
    

看看您是否仍然可以使用常规 Rails 表单助手来安装编辑器 - https://github.com/galetahub/ckeditor#form-helpers