我想将MediumEditor添加到用户可以编写文本的简单表单字段中。rails有一个gem,但我不知道如何在一个简单的表单中实现它。f.input 字段应该看起来如何?
1 回答
3
根据 MediumEditor 文档,这是如何使用它:
您现在可以实例化一个新的 MediumEditor 对象:
<script>var editor = new MediumEditor('.editable');</script>
上面的代码会将所有具有该类的元素
.editable
转换为 HTML5 可编辑内容,并为它们添加中型编辑器工具栏。
您需要通过其id
or引用输入元素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>
您还可以选择任意id
或class
为您的输入元素将其作为选项传递给表单构建器:
<%= 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 回答