Когда я запускаю приложение Ruby on Rails локально, оно продолжает падать на одной конкретной странице.Всякий раз, когда я загружаю страницу, я получаю следующую ошибку от Ruby.exe:
Инструкция по адресу [адрес] ссылается на память по адресу [адрес].Память не может быть «записана».
Как только эта ошибка происходит, сервер падает, и мне приходится перезагружаться с 'rails s'.Я пытался вырезать / комментировать различные частичные функции и функции, чтобы попытаться определить, является ли причиной этого один раздел, но я продолжаю получать эту ошибку.Это происходит в разных браузерах (как Firefox, так и Chrome).Сбой происходит, когда я запускаю свое приложение на локальном хосте.
Я использую ruby версии 1.9.2p290, Rails 3.0.9 и Windows XP SP3.У моего коллеги такая же проблема с той же настройкой.Мы оба использовали Windows XP RubyInstaller для установки Ruby.Когда я начал получать эту ошибку, я снова загрузил и запустил установщик, но это не решило проблему.
Кто-нибудь знает, что может быть причиной этой ошибки, или как я могу выяснить, в чем проблемаявляется?При необходимости я могу опубликовать больше кода.
Из множества похожих страниц веб-приложения, над которым мы работаем, только одна страница аварийно завершает работу.Код для страницы (edit.html.erb) приведен ниже:
<script type="text/javascript">
set_toolbar("projects", "<%= @project.id %>", "", "", "edit");
</script>
<%= render :partial => "sidebars/sidebar", :locals => {:curr_page => "info"} %>
<%= render :partial => "page_title", :locals => {:page_title => "Project Information"} %>
Use this form to modify your project, then click the "Save and Continue" button
to follow the process shown at the right.
<br/><br/>
<%= render "projects/form" %>
<div id="add_keyquestion_box">
<%= render "key_questions/form" %>
</div>
<script type="text/javascript">
$("#add_keyquestion_box").dialog({
autoOpen: false,
minWidth: 600
});
</script>
Частицы "projects / form" и "key_questions / form" включены в аналогичную страницу new.html.erb, точно так же, и эта страница не аварийно завершает работу.
ОБНОВЛЕНИЕ: Хорошо, поэтому, размышляя об этой проблеме и одновременно работая над другими вещами, мы временно удалили CKEditor из обоих проектов / форма частичная и из key_questions / форма частичная.Хотя я пробовал это ранее (grrr), похоже, на этот раз остановил сбой.Возможно, я не был достаточно тщателен в прошлый раз в своем удалении этого.
Всякий раз, когда CKEditor существовал в new.html.erb, страница работала бы нормально, а данные сохранялись бы нормально.
НО, если в edit.html.erb существовал CKEditor с данными уже в форме, произойдет сбой, описанный выше.Иногда это происходит после частичной или полной загрузки самого редактора, а иногда до того, как редактор загружается вообще.Сбой, похоже, связан с извлечением информации из базы данных для отображения для редактирования в CKEditor.
Дополнительная информация о том, как мы использовали CKEditor: в части "projects / form" создаются два CKEditor.на странице.Часть «key_questions / form» находится в диалоговом окне jQuery, которое появляется, когда пользователь нажимает кнопку, содержащуюся в «projects / form».Функциональность этой кнопки содержится в "projects / form" и выглядит следующим образом:
<script type="text/javascript">
$("#add_kq_button").bind("click", function(event)
{
event.preventDefault();
$.ajax({
url: 'key_questions/new',
type: "POST",
data: { project: <%= @project.id.nil? ? -1 : @project.id %>}
});
});
</script>
key_questions / new.js.erb вызывает необходимую функцию открытия диалогового окна в jQuery, чтобы открыть диалоговое окно формы ключевого вопроса.
Спасибо за любые предложения, которые вы можете дать!