Rails 3 MarkItUp预览

时间:2012-08-29 19:13:21

标签: ajax ruby-on-rails-3 markitup

所以我在我的Rails应用程序中实现了Markitup bbcode编辑器,而我目前正试图让预览功能正常工作。我跟着一个4岁的博客文章install markitup! in 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]) %>

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

问题

我不知道如何使用输入到标记编辑器的bb代码填充params[:data]。有人知道我怎么发送它吗?

额外详情: 我想我会把所有选项都包括在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 */ } ]
                };

1 个答案:

答案 0 :(得分:1)

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

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

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