【发布时间】:2012-12-10 09:01:15
【问题描述】:
我正在尝试将 PageDown 挂接到我的 Rails 应用程序中,因为 Markdown 编辑器很棒。
但是,我发现这很困难,因为 Rails 通过表单助手自动分配 id,而 PageDown 期望将 id“wmd-input”分配给 textarea 字段。在我的模型中,我有一个名为“body”的文本属性,我想将其用作编辑器,但 f.text_area :body 会生成一个 ID 为 post_body 的文本区域。
所以,我目前的方法是告诉 PageDown 将编辑器与具有特定类名的文本区域相关联,而不是将其与特定 ID 相关联。这是我对如何进行感到困惑的地方。这是link to Markdown.Editor.js。
导航至function PanelCollection(postfix) {(第 244 行)。我想更改该函数中的第三行:
this.input = doc.getElementById("wmd-input" + postfix);
到
this.input = doc.getElementsByClassName("wmd-input" + postfix)[0];
我从来没有做过这样的事情。此外,编辑 Markdown.Editor.js 的源代码并不是一个真正的选择,因为它是自动生成的。我需要在创建函数后更改它。我该怎么做?
编辑#1:
所以,这是我第一次在 GitHub 上分叉和贡献任何东西,但是我分叉了 pagedown-rails gem 并进行了更改,并通过将我的 Gemfile 中列出的 gem 连接到我的 fork 来确保它工作。工作得很漂亮,谢谢你的建议。我回馈了via this pull request。
【问题讨论】:
-
我认为这个问题与 ruby-on-rails 或原型无关。
-
为什么不自己托管源代码,然后自己编辑那一行?哦,如果只能在某个时间点编辑,就直接暴露构造函数...
-
如果我进行更改的原因是特定于 rails 的,那不值得包含 rails 标签吗?
-
不错! +1 在以正确的方式做事时坚持到底。span>
标签: javascript ruby-on-rails pagedown