0

我想将MediumEditor添加到用户可以编写文本的简单表单字段中。rails有一个gem,但我不知道如何在一个简单的表单中实现它。f.input 字段应该看起来如何?

4

1 回答 1

3

根据 MediumEditor 文档,这是如何使用它:

您现在可以实例化一个新的 MediumEditor 对象:

<script>var editor = new MediumEditor('.editable');</script>

上面的代码会将所有具有该类的元素.editable转换为 HTML5 可编辑内容,并为它们添加中型编辑器工具栏。

您需要通过其idor引用输入元素class。如果您使用form_for,它生成的输入元素的 id 将遵循 format "OBJECT_ATTRIBUTE",其中OBJECT是您正在为其构建表单的对象的名称,并且ATTRIBUTE是表单字段对应的属性的名称。

因此,如果您的表单如下所示:

<%= form_for @article do |f| %>
  <%= f.text_area :body, size: "60x12" %>

生成的 html 元素将如下所示:

  <textarea id="article_body" name="article[body]" cols="60" rows="12"></textarea>

因此,您必须将 传递id "article_body"给 MediumEditor 构造函数,如下所示:

 <script>var editor = new MediumEditor('#article_body');</script>

您还可以选择任意idclass为您的输入元素将其作为选项传递给表单构建器:

<%= f.text_area :body, size: "60x12", id: "my-medium-editor-text-area" %>

编辑: 我刚刚注意到您使用的是简单表单。如果你想id使用简单的形式传递一个自定义,它看起来像这样:

  <%= f.input :article, input_html: { id: "my-medium-editor-text-area" } %>
于 2016-06-13T11:49:01.547 回答