【问题标题】:How to enable CKEditor on a field in rails_admin?如何在 rails_admin 的字段上启用 CKEditor?
【发布时间】:2010-12-31 20:02:18
【问题描述】:

我是 Rails 新手,最近发现了 rails_admin。

我使用 rails_admin 文档中的命令添加了 CKEditor,但我不知道如何在字段上启用它。

【问题讨论】:

  • 仅供参考,您现在可以向 Rails Admin 文本字段添加几个其他文本编辑插件。

标签: ruby-on-rails ruby-on-rails-plugins


【解决方案1】:

今天必须弄清楚这一点。这就是我让它工作的方式。在我的 config/initializers/rails_admin.rb 我有以下设置。

config.model MyModel do
  edit do
    field :description, :text do
      ckeditor do 
        true
      end
    end
  end
end

将“MyModel”更改为您的模型名称,将“:description”更改为您要使用 ckeditor 的字段的名称。同样在编辑块中确保您拥有所有其他字段配置。

更新

上述语法在新版本的 rails_admin 中已被弃用。

config.model MyModel do
  edit do
   configure :name, :ck_editor
  end
end

是这样做的新语法。

【讨论】:

  • 有什么方法可以自动包含所有其他字段?
  • 这也适用于我。但是当运行 rake db:drop db:create db:migrate db:seed 时,rails 会停止迁移,因为找不到表 'my_models'... 所以我将其注释掉,运行 rake 任务,然后取消注释。有什么解决方法的想法吗?
  • jdkealy 你的 config.model 块是什么样的?
  • 另外,我突然遇到了另一个问题。 Ckeditor 甚至不会在生产模式下加载。没有调用javascript。我安装了 gem 'ckeditor'。
  • 也使用此设置,除了 ckeditor 字段外,我的所有字段均未加载。
【解决方案2】:

要确保所有字段都显示,请将其添加到您的 rails_admin.rb:

   config.model Car do
      include_all_fields
     field :content, :text do
      ckeditor true
     end 
  end

问候

罗比

【讨论】:

    【解决方案3】:

    好的,任何 2015 年之后阅读本文的人,上述解决方案已已弃用,并且会产生运行时错误。我试了一下,报错:

    'field(:foo){ ckeditor true }' 风格的 DSL 已被弃用。请改用 'field :foo, :ck_editor'。

    所以,新的语法是这样的:

    config.model MyModel do
      edit do
        field :description, :ck_editor, :text do
          label 'MyLabel'
        end
      end
    end
    

    顺便说一句,如果您从参数中省略 :text,这会很好。 使用 rails-4.0.2、rack-pjax-0.8.0 和 ckeditor-4.1.4 测试了这个解决方案。祝你好运!

    【讨论】:

      【解决方案4】:

      @克里斯,@tomcocca

      我做了上面的 sn-p 就像 tomcocca 显示的那样,但我遇到了一个主要问题。问题是当我运行 rake db:drop db:create db:migrate 时,rails 会抛出错误,因为表尚未初始化。

      第二个问题是,当您定义这样的模型时,您必须在之后定义每个字段。所以在这种情况下,只有“描述”显示,除非您添加其他字段。

      关于第一个问题,这个gem的作者回复了我的问题并写道:

      Ruby on rails, run a method on server start 2.3 也许这应该包含在 RailsAdmin 中? 你可以处理拉取请求吗?

      re:一个拉取请求(正在处理)

      但这个解决方案适用于我的两个问题:

      config.models do
        fields_of_type :text do
          ckeditor true
        end 
      end
      

      这样 ckeditor 会加载到我所有的 textareas 以及所有其他模型的字段上,而且我不知道 rake db:drop db:create... 的问题...

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多