Итак, у меня есть форма для добавления тем (тегов) к видео:
<%= form_for @video, :url => {:action => "update"}, :remote => true do |f| %>
<div class="field">
<%= f.text_field :topic_names, :class => "topic_field" %>
</div>
<%= f.submit "Add Topic" %>
<% end %>
Однако я хочу, чтобы форма изначально отсутствовала и появлялась только после того, как пользователь щелкнет ссылку.Первоначально я хотел загрузить форму из другого файла с помощью jQuery с таким кодом:
$("#edit_topics_link").click(function(e){
e.preventDefault();
$(".topic_form").load("topic_form.html.erb");
$("#edit_topics_link").hide();
});
Проблема заключается в том, что при втором удалении формы из ее первоначального вида возникает ошибка JS:Uncaught TypeError: Cannot set property '_renderItem' of undefined
Я думаю, что это может быть связано с тем, что форма обрабатывается с помощью запроса AJAX, поскольку я передаю ей параметр :remote => true
.
В любом случае, из-заЭта ошибка, я думаю о том, чтобы просто сохранить форму в представлении и скрыть ее, а затем показать ее, когда пользователь нажимает на ссылку.Это плохая идея?Если я должен загрузить форму, как я могу предотвратить эту ошибку JS?