Редактировать для получения дополнительных пояснений: Как только я попал в submit, действие контроллера происходит, но модально просто не исчезает и не обновляется страница. Это работало до того, как я добавил вкладки, но теперь это не так.Рельсы 4 - Динамический контент с модальным и табуляционным выпуском
У меня есть приложение rails, которое я использую для обновления ассоциаций между различными таблицами. До сих пор мне удалось открыть модальную форму с формой, в которой пользователь может обновлять ссылки между записями.
<div class= "form-group" style="overflow-y auto; height: 200px;">
<p><strong>Associated Things </strong></p>
<% for thing in Thing.All %>
<div>
<%= check_box_tag "bigthings[thing_ids][]", thing.id, @bigthings.things.include?(thing) %>
<%= thing.name %>
</div>
<%end%>
</div>
<div class= "modal-footer">
<%= button_tag(type:"submit", class:"btn btn-default") do %> Submit<%end%>
<% link_to "Cancel", class: "btn btn-default", data: {dismiss: "modal"}%>
</div>
Теперь этот код формы (не полный, но правильно) был первоначально закрытия после того, как я ударил кнопку отправки, потому что в update_links.js.erb, что эта форма маршруты к говорит
$("#update-modal").on("submit", function(){
$("#update-modal").modal("hide");
window.location.reload();
});
На bigthing # показать, у меня был таблица, которая динамически обновлять один раз Представлять ударили по модальному
<table>
<thead>
<tr>
<th>Name</th>
<th>Price</th>
</tr>
</thead>
<tbody>
<% @bigthing.things.each do |thing| %>
<tr>
<td><%= @thing.name %></td>
<td><%= thing.price %></td>
<tr>
<% end %>
</tbody>
</table>
Теперь я добавил вкладки в этот раздел, чтобы показать вещи, основанные на владельце больших вещей. На одной вкладке показаны все вещи, связанные с большой вещью, но на второй вкладке показаны все вещи, связанные с владельцем больших вещей.
<ul id="tabs" class="nav nav-tabs" data-tabs="tabs">
<li class="active"><a href="#tab1"
data-toggle="tab">Mine</a></li>
<li><a href="#tab2" data-toggle="tab">All</a></li>
</ul>
<div id="my-tab-content" class="tab-content">
<div class="tab-pane active" id="tab1">
<table>
<thead>
<tr>
<th>Name</th>
<th>Price</th>
</tr>
</thead>
<tbody>
<% @bigthing.owner.things.each do |thing| %>
<tr>
<td><%= @thing.name %></td>
<td><%= thing.price %></td>
<tr>
<% end %>
</tbody>
</table>
</div>
<div class="tab-pane" id="tab2">
<table>
<thead>
<tr>
<th>Name</th>
<th>Price</th>
</tr>
</thead>
<tbody>
<% @bigthing.things.each do |thing| %>
<tr>
<td><%= @thing.name %></td>
<td><%= thing.price %></td>
<tr>
<% end %>
</tbody>
</table>
</div>
</div>
<script>
$(function(){
$("#tabs").tabs();
});
</script>
Но теперь, когда я открываю форму для обновления вещей, модальная не закрывается на отправке. Но если я закрываю модальную и обновляю страницу, появятся обновленные ассоциации. Кто-нибудь видит то, что мне не хватает.
'<% для вещей в Thing.All%>' выглядит довольно необычно. Я ожидаю увидеть '<% Thing.all.each do | thing | %> 'Есть ли вообще метод' All'? В названиях Ruby почти всегда все строчные буквы с подчеркиванием, если это необходимо. – tadman