<%= form_for(@mymodel, remote: true, html: { id: 'match_form' }) do |f| %>
<!-- I need to check if @mymodel.match_id matches the value generated by a controller function -->
<%= f.submit 'Save', class: 'btn btn-primary', id: 'match_submit', style: "width:38px;padding:0px" %>
<%= button_tag 'Cancel', class: 'btn btn-secondary', id: 'match_cancel', style: "width:52px;padding:0px" %>
<% end%>
<script type='text/javascript'>
$(function() {
$(document).on("click", "#match_submit", function(event){
$.ajax('my_controller_method', {
type: 'GET',
dataType: 'script',
data: {
mid: $("#").val(), // how do I pass @mymodel.match_id here?
},
error: function(jqXHR, textStatus, errorThrown) {
return console.log("AJAX Error: " + textStatus);
}
});
});
</script>
У меня есть приведенный выше код JavaScrpt, который делает ajax вызов метода контроллера Rails.
Я хотел бы проверить, соответствует ли значение, переданное в этом вызове ajax, определенному значению , Если нет, я хотел бы отобразить модальное сообщение об ошибке только с кнопкой Ok
.
Я могу придумать 2 способа добиться этого:
Я могу верните правильное значение из метода контроллера (это требует некоторых вычислений, выполнив запрос SQL. Вот почему я делаю это в методе контроллера), проверьте равенство в JavaScript и выведите предупреждение JavaScipt, если нет совпадения .
В: Для этого я хотел бы знать, как я могу вернуть номер из функции контроллера (вызываемой во время вызова ajax) обратно в JavaScript
Я мог бы проверить соответствие внутри самого контроллера, а затем визуализировать модальный bootstrap в самой функции контроллера
Q: Для этого я хотел бы знать, как визуализировать модальный bootstrap (который показывает текстовое сообщение и только кнопку Ok
внутри функции моего контроллера.