1

我正在尝试进行标记!使用 rails 3.1,魔法发生在我的帖子控制器中,所以我将标记 javascript 扔到 assets/javascript 中并添加到我的 posts.js 中(所以只有帖子视图中的 textarea 会被附加)

$(document).ready(function() {
  $(".markItUp").markItUp(mySettings);
});

在我的资产/样式表/posts.css

.markItUpHeader ul .markItUpDropMenu {
background:transparent url(images/menu.png) no-repeat 115% 50%;
margin-right:5px;
}

进一步我改变

images/menu.png to <% asset_path 'menu.png' %>

所以它会得到好的asset_path图像路径

在 jquery.markitup.js 文件中,我将根路径更改为

options = {
root: '<%= asset_path 'jquery.markitup.js' %>'

所以它不会使用 markitup made 函数来检查根集并使用我的根

jquery.markitup.js.erb

// compute markItUp! path
if(!options.root) {
etc .... (does the markitup path computation for the .js file

所以它会得到主js文件的正确路径我的_form.html.erb文件是

<%= f.text_area :content, :class => 'markItUp' %>

这确实有效,因为它确实显示了在 posts.css.erb 中设置的宽度:700px 的文本区域

.markItUp {
 width:700px;
 etc ....

仍然没有其他显示或工作,我的文本区域上方没有用于文本编辑的小工具栏(B,I 等......)

提前谢谢你,HeTzi & Guy。

markItUp 文档:http ://markitup.jaysalvat.com/documentation/

4

1 回答 1

0

我不太确定,什么不适合你......但我已经设法让它在 rails 3.1 中工作。从您上面发布的内容来看,我有几个怀疑。

首先,在 Rails 3.1 中,据我所知,自从我升级以来,它(RoR 3.1)智能地将应用程序/资产中的文件路由到适当的图像、样式表和 javascripts 文件夹。

所以这:

background:transparent url(images/menu.png) no-repeat 115% 50%;

应该:

background:transparent url(/assets/menu.png) no-repeat 115% 50%;

我的选项已保留为默认值:

''

此外,您还没有包含用于定义标记的 set.js(?) 文件...如果您单击下面的链接,向下滚动,然后单击“JSON”选项卡,您就会明白我的意思。

http://markitup.jaysalvat.com/examples/html/

从我自己的项目(使用咖啡脚本和 MarkItUp 页面上的 bbcode 示例中的设置):

myBbcodeSettings = {
previewParserPath:  '', // path to your BBCode parser
markupSet: [
    {name:'Bold', key:'B', openWith:'[b]', closeWith:'[/b]'},

    ...

    {name:'Preview', className:"preview", call:'preview' }
    ]
}

$("#parent-element textarea").markItUp(myBbcodeSettings);

最后,我遇到了它没有被初始化的问题,因为我忘记确保它已经加载并且实际上在页面上,但看起来你不应该有这个问题。

祝你好运!

于 2011-09-15T07:01:36.593 回答