1

所以我在我的 Rails 应用程序中实现了Markitup bbcode 编辑器,我目前正在尝试让预览功能正常工作。我关注了一个 4 岁的博客条目安装标记!在 Ruby on Rails中,这让我非常接近我需要做的事情。到目前为止,当我按下预览按钮时,它会呈现一个 iframe,为我显示一个空白模板。

在我的 jquery.markitup.js 中,我将此行作为选项之一:

previewTemplatePath:    '/templates/preview',

这将发出一个 ajax 请求来检索路由的页面:

resources :templates do
    collection do
      get :preview
    end
  end

目前,预览操作只是设置render :layout => false,所以我不会复制 html。至于 preview.html.erb 页面本身,我只有:

<%= bb(params[:data]) %>

这背后的想法是将编辑器中输入的标记发送到参数数据哈希中,然后通过我的 bb 代码助手传递它,该助手进行解析并返回一些 html。

问题

我不知道如何params[:data]用输入到标记编辑器中的 bb 代码来填充它。有人知道我怎么能把它寄出去吗?

额外细节: 我想我会包括我传递给markItUp的所有选项:

options = { id:                     '',
                    nameSpace:              '',
                    root:                   '',
                    previewInWindow:        '', // 'width=800, height=600, resizable=yes, scrollbars=yes'
                    previewAutoRefresh:     true,
                    previewPosition:        'after',
                    previewTemplatePath:    '/templates/preview',
                    previewParser:          false,
                    previewParserPath:      '',
                    previewParserVar:       'data',
                    resizeHandle:           true,
                    beforeInsert:           '',
                    afterInsert:            '',
                    onEnter:                {},
                    onShiftEnter:           {},
                    onCtrlEnter:            {},
                    onTab:                  {},
                    markupSet:          [   { /* set */ } ]
                };
4

1 回答 1

1

当我调用 markItUp! 时,需要设置previewTemplatePathpreviewParserPath选项。

previewTemplatePath 指向显示渲染预览的视图, previewParserPath 旨在指向处理解析和数据参数的控制器操作。假设您遵循干燥的约定,两条路径都应该与我的情况相同。

为了更好地了解如何集成 markItUp!使用 rails 查看 branch14 的markupitup gem的源代码。

于 2012-09-12T21:32:58.597 回答