markItUp!和Rails 3.1不能很好地配合

时间:2011-09-12 21:02:39

标签: jquery ruby-on-rails sprockets markitup

我正在尝试制作标记!使用rails 3.1,魔术发生在我的帖子控制器里面, 所以我把标记javascript放在assets / javascript中并添加到我的posts.js中(所以只有附加的文本区域中的textarea才会被追加)

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

在我的assets / stylesheets / 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 make函数来检查root集并使用我的root而不是

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' %>

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

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

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

提前谢谢你,HeTzi&amp;盖

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

1 个答案:

答案 0 :(得分:0)

我不太确定,什么不适合你...但我已经设法让它在rails 3.1中运行。根据你上面发布的内容,我有几个怀疑。

首先,在Rails 3.1中,从我升级之后的一天左右开始,它(RoR 3.1)智能地将文件:app / assets路由到适当的图像,样式表,和javascripts文件夹。

所以这个:

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

应该是:

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

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

''

此外,您还没有包含用于定义标记的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);

最后,我遇到的问题是它没有被初始化,因为我忘了确定它已经加载并且实际上是在页面上,但它似乎没有出现你应该有这个问题。

祝你好运!