2
私は検証エラーを表示するモーダルを持っています。私の問題は、モーダルを閉じて再びトリガするたびに重複し、2回閉じる必要があることです。RailsセマンティックUIモーダル追加の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')
編集:
以下の答えは私を正しい方向に送ってくれました。ここで私は何をやったのですか。彼の答えの唯一の違いは、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