よし、この jQuery モーダル ダイアログを用意して、未登録ユーザーがユーザーのみのアクションにアクセスしようとした場合にサインアップするよう促します。更新後、ダイアログは正常に機能し、無期限に閉じたり開いたりできます...そのページで。ページが切り替わるとすぐに、ページが再度更新されない限り、モーダルは機能しません。
次のようなif elseステートメントをレールに関連付けたモーダルがあります。
<% if signed_in? %>
<a href="User only page">
<% else %>
<div class="modalstart">
<& end %>
ただし、ステートメントなしで試してみましたが、問題が解決しないため、これはjQueryの問題であると推測しています。
モーダル ダイアログ コードのコードは次のとおりです。
$(window).bind("load", function() {
$(document).ready(function() {
$('#modalresult').dialog({ width: 550, height: 300, autoOpen: false, modal: true,
resizable: false });
$( ".modalstart" ).click(function() {
$( "#modalresult" ).dialog( "open" );
return false;
});
})
});
また、ダイアログが関連付けられている div は、何らかの結果が生じた場合、呼び出されるまで表示されないように設定されています。
<div id="modalresult" style="display:none"></div>
モーダル ボックスには、サインアップ フォームと、それを閉じるための通常の X があります。
私が考えているのは、ユーザーがページを切り替えたときにモーダルがすでに使用されているとjQueryが何らかの形で考えているのではないでしょうか? ヘルプやアイデアをお寄せいただきありがとうございます。