Могу ли я использовать Mercury Editor без специального контроллера страниц? - PullRequest
0 голосов
/ 04 января 2012

Я хочу использовать Mercury Editor (https://github.com/jejacks0n/mercury) для редактирования постов в области блога моего приложения RoR. У меня нет модели Pages, я просто хочу редактировать посты, а не все страницы сайта.

В моем route.rb:

resources :posts do
    member { post :mercury_update }
end

В моем posts_controller.rb:

def mercury_update
    post = Post.find(params[:id])
    post.name = params[:content][:page_name][:value]
    post.content = params[:content][:page_content][:value]
    post.save!
    render text: ""
end

А также сделал:

$(window).bind('mercury:ready', function() {
  var link = $('#mercury_iframe').contents().find('#edit_link');
  Mercury.saveURL = link.data('save-url');
  link.hide();
});

$(window).bind('mercury:saved', function() {
  window.location = window.location.href.replace(/\/editor\//i, '/');
});

И изменил стиль сохранения«сформировать» в mercury.html.erb.

Даже после выполнения этих шагов, я снова и снова получаю эту ошибку, когда пытаюсь сохранить изменения в тестовом сообщении:

Меркурий не смог сохранить на URL: http://localhost:3000/blog/test

Ответы [ 2 ]

2 голосов
/ 22 марта 2012

У меня была такая же проблема с не загрузкой JavaScript. Я хотел бы предложить поместить переопределения javascript в /app/assets/javascript/mercury.js внутри области загрузки. Вот как выглядит моя шахта:

onload: function() {
$(window).bind('mercury:ready', function() {
  var link = $('#mercury_iframe').contents().find('#edit_link');
  Mercury.saveURL = link.data('save-url');
  link.hide();
});
},

Другой вариант - поместить код переопределения в файл /app/assets/javascript/mercury_override.js, например так:

$(window).bind('mercury:ready', function() {
  var link = $('#mercury_iframe').contents().find('#edit_link');
  Mercury.saveURL = link.data('save-url');
  link.hide();
});

Я думаю, что второе решение лучше, так как на него не будут влиять какие-либо обновления, примененные из обновлений ртути.

1 голос
/ 02 сентября 2012

Mercury.saveUrl = link.data ('save-url');

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...