2010-08-11 35 views
11

Tôi đang hiển thị thông báo lỗi và thông báo trong ứng dụng của mình bằng phương thức trợ giúp như hình dưới đây.Tin nhắn flash trong Rails được chuyển sang trang tiếp theo

def display_flash_content 
    [:error, :notice].map do |key| 
     collection = flash[key].blank? ? [] : (flash[key].respond_to?(:map) ? flash[key] : [flash[key]]) 
     collection.map {|item| content_tag(:div, item, :class => key.to_s) } 
    end 
    end 

và bố trí của tôi có này

<%= display_flash_content %> 

tôi cần phải hiển thị các thông báo khi tôi làm một số hoạt động và sau đó chuyển hướng đến một trang cụ thể (điều này đang làm việc tốt). Nhưng vấn đề của tôi là thông báo flash này vẫn tồn tại giữa các trang. Nó đến hai lần giữa các trang mà nó cần phải được xóa ngay lập tức khi nó được hiển thị cho người dùng.

Cách xử lý trường hợp này. Làm ơn giúp tôi!

Trả lời

29

Cách bạn hiển thị thông báo flash là tốt. Tôi nghĩ rằng vấn đề là làm thế nào bạn đang thiết lập chúng. Nếu bạn đang thiết lập tin nhắn flash và không chuyển hướng, bạn có thể gán cho flash.now[:notice] thay vì flash[:notice], ví dụ và tin nhắn của bạn sẽ không bị treo xung quanh sau khi chuyển hướng.

Các vấn đề liên quan