Извините, если это глупый вопрос, но я не могу заставить это работать.Я пытаюсь получить форму в диалоговой панели.Форма является результатом запроса AJAX, и полученный файл js.erb выглядит следующим образом:
$(function() {
$('#add_tag').html(
"<fieldset>"
"<%= escape_javascript(form_tag(save_tag_path(:id=>@recipe.id), :remote=>true) do ) %>" +
" <%= escape_javascript(label_tag(:new_tags, 'Your tags separated by commas')) %>" +
" <%= escape_javascript(text_field_tag :new_tags) %>" +
" <%= escape_javascript(submit_tag :submit) %>" +
"<% end %>" +
"</fieldset>"
);
$('#add_tag').dialog({
title: "Add Tags",
height: 300,
width: 350,
modal: true
}
);
});
Я знаю, что синтаксис формы в порядке, поскольку он работает вне диалога.Я предполагаю, что это что-то не удалось избежать должным образом?Заранее спасибо!
ОБНОВЛЕНИЕ: Я удалил оболочку $ (function () {}, как правильно указал Бен Симпсон. Однако я все равно ничего не визуализирую на панели с помощью erb. Вот что у меня сейчас:
$('#add_tag').html(
"<fieldset>"
+ "<%= form_tag(save_tag_path(:id=>@recipe.id), :remote=>true) do %>"
+ " <%= escape_javascript(label_tag(:new_tags, 'Your tags separated by commas')) %>"
+ " <%= text_field_tag :new_tags %>"
+ " <%= submit_tag :submit %>"
+ "<% end %>"
+ "</fieldset>"
);
$('#add_tag').dialog({
title: "Add Tags",
height: 300,
width: 350,
modal: true
}
);
Но если я просто введу форму, которая делает рельсы, она работает. Т.е.:
$('#add_tag').html(
"<fieldset>"
+ '<form method="post" data-remote="true" action="/recipes/1/save_tag" accept-charset="UTF-8">'
+ '<div style="margin: 0pt; padding: 0pt; display: inline;">'
+ '</div>'
+ '<label for="new_tags">Your tags separated by commas</label>'
+ '<input id="new_tags" type="text" name="new_tags">'
+ '<input type="submit" value="submit" name="commit">'
+ '</form>'
+ "</fieldset>");