Я уверен, что это действительно простой вопрос, и я прошу прощения, если это ...
Я использую Rails 3 и jQuery и пытаюсь связать ajax: success с удаленной отправкой формы. Данные, возвращаемые функцией, будут в формате JSON - и по какой-то причине я не могу получить доступ к данным. Я не понимаю, как это исправить. Вот где я создаю форму:
Search: <%= form_tag(configurations_url(:format => :json), :remote => true, :method => :get) do %>
<%= text_field_tag :query %><br />
<%= submit_tag "Search"%>
<% end %>
А потом, внизу, у меня написан этот jQuery для прикрепления функции к хвосту:
jQuery("document").ready(function() {
jQuery("div#configuration_search_form form").bind('ajax:success', function(json) {
select_tag = jQuery("div#configuration_select_form form select")
select_tag.empty()
none_found_div = jQuery("div#no_configurations_found")
select_form_div = jQuery("div#configuration_select_form")
none_found_div.slideUp();
select_form_div.slideUp();
if(json.length > 0) {
jQuery.each(json, function(index, config) {
option_tag = "<option value='" + config.configuration.id + "'>" + config.configuration.name + "</option>"
jQuery(option_tag).appendTo(select_tag)
})
select_form_div.slideDown();
} else {
none_found_div.slideDown();
}
})
}
Итак, возвращаемые данные - это данные json, и они абсолютно верны. На самом деле, если я просто напишу функцию ajax вручную внизу, она будет работать нормально (то есть вместо использования ajax: success, я просто написал jQuery.ajax для реакции на отправку), но я бы предпочел не делать этого. иметь весь дополнительный код, так как форма с удаленным тегом такая аккуратная. Это способ, которым я могу это исправить?
EDIT:
Чтобы уточнить - что происходит, ошибки нет, но даже если результаты возвращаются, требуется транк, чтобы отобразить div "not results found".