0

独自のアラート/フラッシュヘルパーが付属しているRailsアプリでdeviseを使用しています。このように変更しました

<% flash.each do |key, value| %>
<%= content_tag(:div, value, :class => "flash #{key}") %>
<% end %> 

私がやりたいのは、ページを更新して非表示にするのではなく、上隅にXを付けてこのアラートを閉じることができるようにすることです。css / jqueryを使用してアラートボックスを作成し、関連するdivを上記のコードで囲みましたが、レイアウト/アプリケーションファイルにあるため、ページが読み込まれると常に表示されます。

これが役立つ場合はCSSとJqueryです

$(function() {
$('.close').click(function(){
    $('.myDiv').fadeOut("fast");
});


.close {
background:red;
font-weight:bold;
padding:5px;
cursor:pointer;
display:inline-block;
 }

.myDiv {
padding:10px;
background:#ccc;
width: 200px;
margin:0 auto;
height:50px;
 }
4

1 に答える 1

1

カスタムdivをラップして、フラッシュが空白でない場合にのみレンダリングできます。

<% if flash.present? -%>
  <div id='flash'>
  ...
  </div>
<% end -%>
于 2012-04-23T18:22:57.080 に答える