Этот код выводит только data
на консоль. В журнале сервера запросы не поступают. Я полностью сбит с толку. Мои другие обработчики кликов работают нормально. Почему мой код ajax ничего не показывает в журнале сервера, но только консоль? Спасибо.Рельсы с jQuery Ajax GET
# routes.rb
get 'organize/process' => 'organize#process_selections',
format: :json, as: :organize_process
# organize_controller.rb
def process_selections
@selected_huddles = Huddle.includes(:huddle_membership_roles, :users)
.find(params[:huddle_ids])
respond_to do |format|
format.json { render 'selections', format: :js}
end
end
# js (inline with haml)
$('h2.action').on('click', function() {
//event.preventDefault();
var huddle_ids = [];
$('.card.selected').each(function() {
huddle_ids.push($(this).data('huddle-id'));
});
$.ajax('#{organize_process_path}', {
//method: 'GET', (API says default is async/GET)
//async: true,
data: JSON.stringify({'huddle_ids' : huddle_ids}),
contentType: 'application/json',
dataType: 'json'
});
});
Update: Строка data
выводится на консоль, даже когда я полностью удалить $.ajax
вызов. Поэтому метод .each
возвращается слишком рано, я думаю.
Update2: Обратите внимание, что я не представляю форму. Я не знаю, имеет ли это значение. Еще раз спасибо.
Update3: Я использовал неправильный взгляд. У меня есть Аякса, чтобы отправить запрос, но мое форматирование не так:
Started GET "/organize?{%22huddle_ids%22:[1]}" for ::1 at 2016-07-14 01:49:08 -0500
Processing by OrganizeController#select as JSON
Parameters: {"{\"huddle_ids\":"=>{"1"=>{"}"=>nil}}, "organize"=>{}}
Вот мой текущий код для JS и контроллера:
Это хам. Я пробовал в обоих направлениях. – tidelake
Ick. Вот почему я не использую Haml;) Может быть, эта ссылка помогает? http://chrisjmears.com/2009/10/haml-javascript/ В любом случае, я думаю, вам нужно будет правильно настроить маршрут Rails. <% = "# {organiz_process_path}"%> или что-то еще. – andrunix
Да, я использую этот синтаксис. – tidelake