У меня есть ссылка в таблице HTML, которая при нажатии вызывает эту функцию контроллера Rails:
Контроллер:
def match
render :partial => 'myview/match.js.erb'
end
Вышеупомянутый контроллер вызывает это js частичное:
_match. js .erb
$('#match_' + <%=@debit.id%>).hide().after('<%= j render("match") %>');
Приведенный выше js частичный вызов erb
ниже:
_match. html .erb
<%= form_for(@debit, remote: true, html: { id: 'match_form' }) do |f| %>
<%= f.text_field :match_id, style: "width:82px" %>
<br/><br/>
<%= button_tag '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 %>
Как показано на приведенном выше фрагменте, отображается text field
с 2 кнопками Save
и Cancel
.
Теперь, когда пользователь вводит значение и нажимает Save
, я бы хотел бы сделать небольшую проверку.
Если проверка прошла успешно, я бы хотел, чтобы операция Save
была завершена (что означает текстовое поле и кнопки Save
и Cancel
исчезнет, и исходная ссылка HTML вновь появится с новым значением, введенным в текстовом поле [теперь, если щелкнуть эту ссылку с новым номером, текстовое поле с кнопками Save
и Cancel
снова будет появляется], т. е. необходимо разрешить выполнение функции контроллера def match
)
Если проверка не пройдена, я хотел бы отобразить всплывающее окно, которое выдает предупреждение типа Are you sure you want to proceed with this value?
вместе с 2 кнопками Yes
и No
.
a) Если пользователь нажимает Yes
, я бы как то же самое, что и в случае 1, описанном выше. б) Если пользователь нажимает No
, текстовое поле должно оставаться незаполненным вместе с кнопками Save
и Cancel
.
Как мне этого добиться, пожалуйста? Какой самый простой подход для этого?