(Ruby, Rails, AJAX) TemplateError для частичного второго уровня во время обновления AJAX - PullRequest
0 голосов
/ 16 июня 2009

Может кто-нибудь объяснить, почему я получаю ActionView :: TemplateError, когда пытаюсь использовать AJAX для обновления интерфейса, используя следующий код:

CODE

У меня есть следующая структура: Сайт -> Строительство -> Контроль. Каждый перебирает свою коллекцию предметов и отображает часть для каждого. С сайта на здание работает просто отлично. Однако при переходе от «Построение к управлению» возникает ошибка шаблона.

Примечательно, что элементы управления добавляются просто замечательно, и если я обновляю страницу, весь код работает - но по какой-то причине, когда я пытаюсь выполнить AJAX, выдается частичный (не файл "rjs") ошибка.

Есть мысли? Приношу свои извинения, если это слишком расплывчато.

Best.

РЕДАКТИРОВАТЬ - ошибка заключается в следующем: ОШИБКА ШАБЛОНА

1 Ответ

0 голосов
/ 16 июня 2009

Давайте разберем полученную ошибку:

ActionView :: TemplateError (неопределенный метод `controls 'для #) в строке 21 приложения / views / site_manager / _building.html.erb

Первая часть ActionView::TemplateError - это тип возникшего исключения, который в данном случае не очень интересен. Следующая часть, однако:

неопределенный метод `controls 'для #

Это в основном говорит о том, что вы пытаетесь вызвать метод с именем controls для объекта, который является экземпляром модели Control. Также сообщается, что метод controls не определен в этом экземпляре.

в строке 21 приложения / views / site_manager / _building.html.erb

Выше указано, где найти источник этой ошибки, а именно строку 21 в части site_manager / building. Эта строка выглядит так:

<%for control in building.controls%>

В этой строке вы пытаетесь вызвать метод controls для переменной, что не работает в соответствии с сообщением об ошибке; метод controls не определен для этой переменной. Сообщение об ошибке также говорит вам, что переменная содержит экземпляр вашей модели управления.

Теперь вы назвали переменную building, но она содержит экземпляр Control, что заставляет меня поверить, что вы каким-то образом поместили другое значение в переменную building, чем предполагалось.

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

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