Прежде всего, я очень мало знаю о рубине или рубине на рельсах.Я только кодировал несколько лет, мой язык выбора был python.Я создал несколько приложений, и моя команда разработчиков решила, что я должен начать помогать с нашим стеком рельсов, поэтому я начал его использовать.Прошу прощения за мое незнание заранее.
Итак, у меня есть форма на наших форумах, в которой указана каждая группа, в которой находится пользователь, и раскрывающийся список настроек электронной почты для каждой группы.Пользователь выбирает, какие параметры он хочет отправить, а затем у меня есть функция в контроллере разрешений, которая обновляет БД с помощью выбора и перенаправляет обратно на домашнюю страницу.
Я хотел бы добавить модальное значение, так что еслиПользователь выбирает opt-out как любой выбор, я могу открыть модальный и отобразить сообщение.Если ваш пользователь выбирает «ОК», я бы хотел, чтобы модал закрылся, а отправка произошла как есть.Если пользователь нажимает «Отмена», я бы хотел, чтобы модал закрывался без отправки, чтобы пользователь мог изменить нужные параметры и отправить снова.
Пока что я добавил модал в html, используя руководство по начальной загрузке и кнопку отправки.Теперь модальное окно открывается на любой выбор на секунду или две, а кнопка «Отправить» перенаправляет страницу.Я предполагаю, что мне нужно немного js, чтобы это произошло так, как я хочу.Также мы используем haml.
.row
.col-md-9
%h4 My Groups
.col-md-3
%h4 Email Preferences
%p Fake text for email pref explanations
.space
.row
= form_with(url: update_collection_permissions_path, method: :put, local: true, html: {id: :email }) do |f|
= will_paginate @discussion_groups, class: "digg_pagination"
-if @discussion_groups.any?
-@discussion_groups.each do |discussion_group|
.col-md-9
.panel.panel-default
.panel-body
.row
.col-md-9
.row
-if current_user.admin?
%span.blue-text #{view_discussion_group(discussion_group)}
{destroy_discussion_group_link_for(discussion_group)}
-elsif discussion_group.admin_role.users.include?(current_user)
%span.blue-text #{view_discussion_group(discussion_group)}
-else
%span.blue-text #{view_discussion_group(discussion_group)}
-#{contributor_link_for(discussion_group)}
.row
.body-text
=discussion_group.description
.col-md-3
=discussion_group.name
-selected = discussion_group.permission_for_user(current_user)
=f.select("permissions[#{selected.id}]", options_for_select([['Daily digest', 'daily_digest'], ['Opt-out', 'opt-out'], ['Individual', 'individual']], selected.email_preference), {}, class: 'form-control')
-else
.row
You are not subscribed to any discussion groups.
.col-md-9
.col-md-3
.buttonrow
=link_to('Cancel', root_path, class: 'btn btn-default btn-lg',:rel=>"tooltip",:title=>"Return to previous page")
=f.submit('Update', class: 'btn btn-default btn-lg','data-toggle'=>"modal", 'data-target'=>"#myModal" )
#myModal.modal.fade{:role => "dialog", :tabindex => "-1"}
.modal-dialog{:role => "document"}
.modal-content
.modal-header
%button.close{"aria-label" => "Close", "data-dismiss" => "modal", :type => "button"}
%span{"aria-hidden" => "true"}
%h4.modal-title Modal title
.modal-body
%p One fine body
.modal-footer
%button.btn.btn-default{"data-dismiss" => "modal", :type => "button"} Close
%button.btn.btn-primary{:type => "button"} OK
Так что я хочу, чтобы модальное окно открывалось только тогда, когда выбрано выбранное значение, а закрывалось и отправлялось, если пользователь выбрал ok.Если пользователь не выбрал отказ, я хочу отправить форму.Любая помощь с благодарностью.