Rails на Heroku, дважды отображается редактор redacto

В моей среде разработки все в порядке.

редактор работает так здорово.

но когда приложение запускается на героку, редактор WYSIWYG Redactor отображается дважды.

один редактор Redactor по умолчанию и один редактор Redactor пользовательского стиля.

Я пытаюсь удалить пользовательскую настройку,

не работает,

он отображает два, два редактора стилей по умолчанию,

забань турболинки или измени конфиг, все равно не работает.

везде, где я делаю, у меня есть два редактора на странице, где используется Redactor.

на Heroku страница выглядит так:

<div class="redactor-box">
  <ul class="redactor-toolbar" id="redactor-toolbar-2">
  </ul> 
  <div class="redactor-editor">  
  </div> 
  <div class="redactor-box">
    <ul class="redactor-toolbar" id="redactor-toolbar-3">
    </ul>
    <div class="redactor-editor">
    </div>
  </div>
</div>

В моей среде разработки это выглядит так:

<div class="redactor-box">
  <ul class="redactor-toolbar" id="redactor-toolbar-2">
  </ul> 
  <div class="redactor-editor">  
  </div> 
</div>

это мой код.

#app/views/articles/new.html.erb


<div class="col-md-8 col-xs-8 col-xs-offset-2 col-md-offset-2">
  <%= form_for([current_user, @article]) do |f| %>
    <%= render 'shared/error_messages', var: @article %>

    <%= f.label :title %>
    <%= f.text_field :title, class: 'form-control', id: "article-title" %></br>

    <%= f.label :content %>

    <%= f.text_area :content, class: :redactor %></br>

    <%= f.submit "Save", class: "btn btn-default btn-custom" %>
  <% end %>
</div>

и это моя конфигурация Redactor.

#app/assets/javascripts/redactor-rails/config.js


window.init_redactor = function(){
  var csrf_token = $('meta[name=csrf-token]').attr('content');
  var csrf_param = $('meta[name=csrf-param]').attr('content');
  var params;
  if (csrf_param !== undefined && csrf_token !== undefined) {
      params = csrf_param + "=" + encodeURIComponent(csrf_token);
  }
  $('.redactor').redactor({

        "imageUpload":"/redactor_rails/pictures?" + params,
        "imageGetJson":"/redactor_rails/pictures",
        "fileUpload":"/redactor_rails/documents?" + params,
        "fileGetJson":"/redactor_rails/documents",
        "path":"/assets/redactor-rails",
        "css":"style.css",
        "minHeight" : 300
      });
}

$(document).on( 'ready page:load', window.init_redactor );

рельсы «4.2.3»

Редактор-рельсы '0.5.0'

Спасибо, что прочитали.


Обновить

когда я удаляю весь файл конфигурации, а не просто меняю некоторые настройки,

У меня правильный дисплей.

но если я это сделаю, я не смогу настроить свой редактор.

наконец, я использую CSS для решения проблемы. это глупый способ,

Дополнительный редактор просто будет скрыт, а не исчезнет.

    .fix-box { 
      margin-top: 110px;
      .redactor-box {
        #redactor-toolbar-2 {
          display: none;
        }
        .redactor-box {
          margin-top: -110px;
        }
      }
    } 

person Errol    schedule 30.08.2015    source источник


Ответы (1)


Вы должны изменить

$(document).on( 'ready page:load', window.init_redactor );

to

$(document).ready(function(){window.init_redactor});

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

person Slonski    schedule 23.09.2015