Sử dụng Toastr hiển thị flash của gem Devise
Bài đăng này đã không được cập nhật trong 5 năm
Có thể bạn thấy việc hiển thị flash mặc định của gem devise khá nhàm chán và bạn muốn chúng nhìn thân thiện hơn. Toastr
là một lựa chọn rất tốt bạn có thể thử và trải nghiệm. toastr là một thư viện Javascript dùng cho việc hiển thị các thông báo một cách độc lập. Để sự dụng toastr trong Rails chúng ta có thể thử các bước đơn giản như sau:
1. Installation with bower or npm
bower install toastr --save
OR
npm install --save toastr
Theo cách này, giờ đây và tất cả sự phụ thuộc của nó sẽ được cài đặt trong các thành phần Rails của bạn. Bây giờ chúng ta có thể tiếp tục và sử dụng nó trong ứng dụng rails.
2. Gọi toastr trong ứng dụng rails.
#application.js
//= require toastr
#application.scss
@import 'toastr'
Tiếp đến tại application_helper.rb
chúng ta thêm một method như sau:
def custom_bootstrap_flash
flash_messages = []
option = "{'closeButton': true}"
flash.each do |type, message|
type = "success" if type == "notice"
type = "error" if type == "alert"
text = "toastr.#{type}('#{message}');"
flash_messages << text if message
end
flash_messages.join("\n")
end
Một số tùy chọn khác của Toastr
toastr.options = ({
“closeButton”: true,
“debug”: false,
“positionClass”: “toast-bottom-right”,
“onclick”: null,
“showDuration”: “300”,
“hideDuration”: “1500”,
“timeOut”: “5000”,
“extendedTimeOut”: “1000”,
“showEasing”: “swing”,
“hideEasing”: “linear”,
“showMethod”: “fadeIn”,
“hideMethod”: “fadeOut”
});
Ok, về cơn bản phần cài đặt đã xong, giờ để sử dụng trong layouts/application.html.erb phần body chúng ta thêm đoạn sau
<script>
<%= sanitize custom_bootstrap_flash %>
</script>
Toastr hỗ trợ bạn hiển thị 4 loại message thông báo thông thường là Success, Info, Warning và Error. Ở trên tôi mới sử dụng type success và error
Chúc các bạn thành công!!
All rights reserved