У меня есть модальный, который отображает ошибки проверки. Моя проблема заключается в том, что каждый раз, когда я закрываю модальный метод и запускаю его снова, он дублируется, и я должен закрыть его дважды.Rails Semantic UI Modal Создание дополнительных элементов Dom
Проблема заключается в том же, как это: StackOverflow: PHP Semantic-UI Modal
Это решение не работает. Я не уверен, что это проблема с тем, как рельсы обрабатывают частичные, или если я реализую модальные ошибки. Мне нужна помощь в понимании того, что происходит и как я могу это исправить.
index.html
<div class="eight wide stackable column">
<div id="payee_errors"></div>
</div>
ошибка парциальное:
<div class="ui modal">
<div class="header"><%= pluralize(target.errors.count, "error") %> prohibited this <%= target.class.to_s.underscore.humanize.downcase %> from being saved:</div>
<div class="content">
<h3 class="header">
There were problems with the following fields:
</h3>
<div class="ui list">
<% target.errors.full_messages.each do |msg| %>
<div class="item">
<%= msg %>
</div>
<% end %>
</div>
</div>
<div class="actions">
<div class="ui green cancel button">Ok. It won't happen again. </div>
</div>
</div>
create.js.coffee
$("#payee_errors").html("<%=escape_javascript(render partial: 'errors' , :locals => {:target => @payee }) %>")
$('.ui .modal').modal('show')
Edit:
Ответ ниже присылал меня в правильном направлении. Вот что я в итоге сделал. Единственное различие между его ответом заключалось в том, что мне пришлось скрыть модальный метод, используя метод обратного вызова onApprove
.
$('.ui.modal').html('')
$("#payee_errors").html("<%=escape_javascript(render partial: 'errors/errors' , :locals => {:target => @payee }) %>")
$('.ui.modal').modal(
onApprove: ->
$('.ui.modal').modal 'hide'
return
).modal 'show'
Ваш ответ послал меня в правильном направлении. Я пытался использовать чистый, пустой или любой метод JQuery, который мог найти. Я никогда не думал о том, чтобы установить весь модальный div в пустую строку. В итоге мне пришлось называть 'hide' методом обратного вызова, это единственное, что мне пришлось делать по-другому. – ctilley79