У меня возникли проблемы с правильной работой моего блока выбора внутри моего загрузочного мода.Bootstrap Modal не работает должным образом с моей логикой Rails
Я использую Rails 4 и Bootstrap 3 и довольно много вопросов.
Когда я нажимаю на моем «Присвоить»
button
моегоmodal
открывает несколько раз в зависимости от того, сколько записей я в настоящее время на этой странице. (Ex.I должна нажать отменить 3 раза, чтобы закрыть мою модальность, если У меня 3 записи в моей таблице) Я, очевидно, просто хочу, чтобы мой модал открывался один раз.Когда я выбираю «менеджер» из
f.select
выпадающего списка, а затем нажмите кнопку «Назначить» он изменяет менеджер поля 1-й записи, а не текущей записи я пытаюсь назначить. (Если у меня есть 3 записи и нажмите «Присвоить на третьей записи», он обновит поле менеджера 1-й записи).
Вот некоторые частичные фрагменты кода, чтобы показать, что я сделал до сих пор:
index.html.erb
<tbody>
<% @projects.each do |project| %>
<tr>
<td><%= project.manager %></td>
<td><%= project.subject %></td>
<td><%= project.status %></td>
<td>
<% if controller.action_name == 'pending' %>
<button type="button" class: "btn btn-large btn-primary" data-toggle="modal" data-target=".assign-modal">Assign</button>
<div class="modal fade assign-modal" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-body">
<%= render partial: 'new_assign', locals: {project: project} %>
</div>
</div>
</div>
</div>
</td>
</tr>
<% end %>
<% end %>
</tbody>
_new_assign.html.erb
<div class="modal header">
<button type="button" class="close" data-dismiss="modal" <aria-hidden="true">x</button>
<h3 id="myModalLabel">Assign a Manager</h3>
</div>
<div class="modal-body">
Manager(Project Manager)
<%= form_for(project) do |f| %>
<%= f.select :manager, [[""],["George"],["Thomas"],["Abe"],["Bill"]] %>
</div>
<div class="modal-footer">
<%= f.submit "Assign", class: "btn btn-large btn-primary" %>
<button type="button" class="btn btn-default" data-dismiss="modal" aria-hidden="true">Cancel</button>
<% end %>
</div>
Кроме того, в качестве быстрой заметки - разворачивание нескольких модалов с кратным одной и той же формой будет работать - но было бы намного круче просто отключить кнопку от запроса AJAX к новому действию. Затем попросите новый метод в контроллере ответить .js-файлом, который динамически загружает форму в один модаль и выталкивает ее. – aspencer8111