У меня есть страница, на которой я динамически добавляю элементы в серию блоков выбора. Я использую RJS для этого, и он отлично работает. Теперь эти элементы в элементе div представляют собой последовательность, сопровождаемую кнопками Delete, если пользователь хочет удалить текстовое поле. Вот где я бью стену.
Вот код, который запускает кнопку Удалить. Насколько мне известно, это работает хорошо:
<%= link_to image_tag("/images/button_delete.gif", :alt=>"Delete"), :controller=>"report", :action=>"remove", :id=>@sentence.id %>
В моем контроллере отчетов у меня есть очень простой метод, вызываемый с помощью приведенного выше кода:
def удалить
@sentence_id = params [: id]
конец
Опять же, я думаю, что это работает. Теперь, когда я активирую это действие нажатием кнопки, мы переходим к файлу RJS, remove.rjs:
page.remove 'sentence_'+@sentence_id
И вот что я получаю в своем браузере вместо удачно удаленного элемента!
try
{
Element.remove("sentence_63");
}
catch (e)
{
alert('RJS error:\n\n' + e.toString());
alert('Element.remove(\"sentence_63\");');
throw e;
}
Насколько я понимаю, это происходит, когда в текущем контексте нет страницы. Электронная документация по этому вопросу довольно тонкая.
Любая помощь приветствуется!
Ура,
Аарон.