Предварительный просмотр Rails 3 MarkItUp

Итак, я реализовал редактор bbcode Markitup в своем приложении Rails и в настоящее время пытаюсь получить функция предварительного просмотра работает. Я следил за записью в блоге четырехлетней давности установить разметку! в 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 */ } ]
                };

person Noz    schedule 29.08.2012    source источник


Ответы (1)


Параметры previewTemplatePath и previewParserPath должны быть установлены при вызове markItUp!.

Предварительный просмотрTemplatePath указывает на представление, отображающее обработанный предварительный просмотр, а предварительный просмотрParserPath предназначен для указания на действие вашего контроллера, которое обрабатывает параметры синтаксического анализа и данных. Предполагая, что вы следуете сухим соглашениям, оба пути должны быть такими же, как и в моем случае.

Чтобы лучше понять, как интегрировать markItUp! с rails ознакомьтесь с исходным кодом разметки от branch14.

person Noz    schedule 12.09.2012