select2 множественные выборы очищены на form.submit (ruby на рельсах)

Я использую select2 для отправки формы. Мой HTML выглядит так:

<%= form.select "page_request_ids", [], {}, id: "page_request_ids", multiple: true, style: "width:506px;" %>

JavaScript:

jQuery('select#page_request_ids').select2({
    placeholder: "Start typing paths...",
    allowClear: true,
    ajax: {
        url: "/page_requests/multiautocomplete",
        dataType: 'json',
        type: "GET",
        data: function(params) {
            return {
                option: params.term, 
            };
        },
        processResults: function(data, params) {
            return {
                results: jQuery.map(data, function(item) {
                    return {
                        text: item[0] + " (" + item[1] + ")",
                        request: item[1],
                        id: item[2]
                    }
                })
            };
        }, 
        cache: true
    }
});

Когда форма будет отправлена, значения очищаются. Я пытаюсь убедиться, что эти значения появляются после отправки формы (та же форма загружается при отправке формы).

Любая помощь будет потрясающей.

1 ответ

Решение

Вам нужно set page_request_ids в select tag после представления.

<%= form.select "page_request_ids", [], {}, id: "page_request_ids", multiple: true, style: "width:506px;" %>

здесь вам нужно пройти ваш page_request_ids коллекция вместо blank Array,

Другие вопросы по тегам