Создание вызова ajax контроллеру RoR - PullRequest
0 голосов
/ 20 июня 2020

У меня есть модальное окно, которое мне нужно отрендерить из файла haml - используя rails MVC. Модальное окно содержит кнопку, а href кнопки имеет переменные экземпляра, и я не уверен, как их установить. Когда контроллер вызывает рендеринг для этого

Модальное окно для рендеринга:

.modal-body
= t('remittances.similar_refund_message', :transAm => @transAm, :EFTCheckDate => @EFTCheckDate)
=hidden_field_tag "action", @action
.footer.pull-right.padding-t-20
%a.btn.btn-primary{id:'save-refund-confirmation-button', href: update_refund_check_remittances_path(id: @remittance.id, payerName: @remittance.payer.name, checkDuplicate: false, filters: u/filters), 'data-remote'=>'true', type: 'button'}= t('remittances.yes_continue')
%a.btn{"data-dismiss" => "modal", type: "button"}= t('remittances.no_go_back')

Действие контроллера ruby перехватывает вызов ajax:

def render_similar_update_refund_modal
    @action = params['actionType']
    @transAm = params['transAm']
    @EFTCheckDate = params['EFTCheckDate']
    render partial: 'similar_update_refund_modal_body'
end

Вызов ajax:

$.ajax({
url: errorModalUrl,
data: { actionType: actionType, transAm: transAmt, EFTCheckDate: EFTCheckDate }, success: function(response) {
$('.modal-body').replaceWith(response);
$('#remittance-error-button').click();
Terra.Overlay.hide();
},

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

Этот href работает в модальном теле:

href: update_refund_check_remittances_path(checkDuplicate: false, isRefund: true)

В основном то, что я хочу состоит в том, чтобы кнопка в модальном теле содержала href с этими переменными экземпляра. Это делается с помощью кнопки сохранить внизу страницы моей формы, и она работает нормально. Эта кнопка сохранения действует как кнопка отправки формы, но вместо отправки она сериализует данные формы и отправляет их через Ajax контроллеру, который направляет данные в java бэкэнд для некоторой mysql работы. Когда я беру href из кнопки сохранения и помещаю его в модальную кнопку, он терпит неудачу, и вызов ajax (от нажатия модальной кнопки) немедленно попадает в ветку ошибки.

Переменные экземпляра только что вышли контекста, как я могу передать эти данные?

...