У меня есть скрытая форма, которая открывается в модальном представлении в приложении Rails 5.1 с использованием фундаментных рельсов. Эта форма загружается через AJAX, но когда remote: true
установлен в теге link_to
, модальное окно не отображается. Форма правильно вставляется на страницу, но модальное окно не отображается. Если я удалю remote: true
, модальное окно выглядит нормально, поэтому они каким-то образом конфликтуют.
Это началось недавно после того, как я решил перейти с jquery_u js на rails-u js.
Ниже мой код:
приложение. js
//= require turbolinks
//= require jquery
//= require rails-ujs
//= require foundation
//= require jquery.Jcrop.min
//= require rails.validations
//= require cookies_eu
//= require Chart.bundle
//= require simple_chartjs
//= require cocoon
//= require toastr
//= require_tree .
_form. html
<div class="cell">
<%= link_to "Add an episode", new_webinar_path(slug: @webinar_series.slug), class: 'button small hollow', data: { toggle: "new_webinar" }, remote: true if @webinar_series.slug %>
</div>
<% @webinar_series.episodes_by_date.each do |webinar| %>
<% if webinar.id %>
<div class="cell small-6">
<div class="dotted-border">
<h4><%= webinar.name %></h4>
<%= link_to "Edit", edit_webinar_path(webinar), class: 'button tiny hollow', data: {remote: true, toggle: "edit_webinar" } %>
<%# binding.pry%>
<ul class="no-bullet">
<li>Date: <%= webinar.date %></li>
<li>Time: <%= webinar.time.strftime("%R") %></li>
</ul>
<%= markdown(webinar.video) if webinar.video %>
<%= markdown(webinar.description) if webinar.description %>
<%= link_to 'Delete this episode', webinar_path(webinar), method: :delete, data: { confirm: 'Are you sure?' } %>
</div>
</div>
<% end %>
<% end %>
<!-- Modals -->
<div class="reveal" id="new_webinar" data-reveal data-close-on-click="true" data-animation-in="fade-in" data-animation-out="fade-out">
<div class="white-bg fixed-height">
<div id="new-webinar-form"></div>
</div>
<button class="close-button" data-close aria-label="Close reveal" type="button">
<span aria-hidden="true">×</span>
</button>
</div>
макет:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title><%= content_for?(:title) ? yield(:title) : "Driving Vision" %></title>
<%= favicon_link_tag "favicon.ico" %>
<%= stylesheet_link_tag "application" %>
<%= javascript_include_tag "application", 'data-turbolinks-track' => true %>
<%= csrf_meta_tags %>
<%#= analytics_init if GoogleAnalytics.valid_tracker? %>
</head>
<body>
<div class="off-canvas-content" data-off-canvas-content>
<%= render 'shared/nav_bar' %>
<%= render 'cookies_eu/consent_banner' %>
<%= yield %>
<%= render 'shared/nav_menu' %>
</div>
<%= toastr_flash %>
</body>
</html>
Я пробовал использовать как rails-u js, так и jquery_u js, но из-за этого формы отправлялись дважды. Я попытался изменить порядок вещей, которые требуются в приложении. js манифест. Кажется, ничего не работает. Любая помощь или идеи будут очень признательны!