markItUp! и Rails 3.1 не играют хорошо - PullRequest
1 голос
/ 13 сентября 2011

Я пытаюсь сделать markitup! работа с рельсами 3.1, магия происходит внутри моего контроллера сообщений, поэтому я бросил разметку javascript в assets / javascript и добавил в мои posts.js (чтобы добавлялась только текстовая область в представлении сообщений)

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

в моих ресурсах / 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 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' %>

это работает, так как показывает текстовую область шириной 700px, установленную в posts.css.erb

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

но все еще больше ничего не показывает и не работает, у меня нет маленькой панели инструментов над текстовой областью для редактирования текста (B, I ​​и т.д ...)

Заранее спасибо, HeTzi & Guy.

документация markItUp: http://markitup.jaysalvat.com/documentation/

1 Ответ

0 голосов
/ 15 сентября 2011

Я не совсем уверен, что у вас не работает ... но мне удалось заставить его работать в рельсах 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/

Из моего собственного проекта (с использованием сценария кофе и настроек из примера bbcode на странице MarkItUp):

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);

Наконец-то у меня возникла проблема с нимне инициализирован, потому что я забыл убедиться, что он загружен и действительно находится на странице, но, похоже, у вас не должно быть этой проблемы.

Удачи!

...