Я - любитель моего первого проекта. В форме oranizer может выбрать несколько событий в коллекции выбора. Я хочу, чтобы эти события были доступны как варианты в коллекции флажков поля массива ниже в той же форме.
Сначала организатор выбирает события:
<%= f.input :events, collection: @organizer.events.order(:start_time).reverse, label_method: :event_name_and_date, input_html: {multiple: true, id: "event_select"} %>
Затем это поле коллекции флажков (и другие подобные в форме) должны динамически обновляться с ранее выбранными событиями в качестве параметров, поэтому идентификаторы отмеченных событий отправляются в массиве параметров.
<%= f.input :events_to_include_in_event_pass_1, :collection => ["(previously selected events", "etc"], :as => :check_boxes, include_hidden: false, :input_html => {:multiple => true, id: "event_pass_select"} %>
У меня есть ajax:
$('#event_select').on('change', function(){
var grab_events = $('#event_select').val();
var hpeData = '{"hpe": "' + grab_events + '"}';
$.ajax({
type: 'post',
url:'/events/get_the_e',
dataType:'json',
contentType:'application/json',
data: hpeData,
success:function (data) {
... $("document.forms["eventForm"]["events_to_include_in_event_pass_1"].collection_value(?)").update_with('data.hpe.each.event_name_... and_id_somehow_gets_added')
}
});
}
, который возвращает экземпляры, выбранные в первой коллекции поле, но я не знаю, как динамически изменить коллекцию #event_pass_select с этими экземплярами. ... это вообще возможно? Или есть какой-нибудь общий лучший способ настроить что-то подобное?