【问题标题】:markItUp! and Rails 3.1 don't play along nicely标记!和 Rails 3.1 不能很好地配合
【发布时间】:2015-07-29 21:27:41
【问题描述】:

我正在尝试做标记!使用 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/

【问题讨论】:

    标签: jquery ruby-on-rails sprockets markitup


    【解决方案1】:

    我不太确定,什么不适合你......但我已经设法让它在 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);
    

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

    祝你好运!

    【讨论】:

      猜你喜欢
      • 2013-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-31
      • 1970-01-01
      • 2010-09-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多