Cho đến nay tôi đã có:Loại thông báo flash nào có sẵn trong Rails?
- : thông báo
- : alert
- : Lỗi
nhưng là có danh sách dứt khoát, có thể được sử dụng tại chỗ, chẳng hạn như trong redirect_to path, :error => "Oh no!"
?
Cho đến nay tôi đã có:Loại thông báo flash nào có sẵn trong Rails?
nhưng là có danh sách dứt khoát, có thể được sử dụng tại chỗ, chẳng hạn như trong redirect_to path, :error => "Oh no!"
?
Không, dưới dạng loại đèn flash, bạn có thể sử dụng bất kỳ biểu tượng nào, ngay cả biểu tượng của riêng bạn.
Hauleth là đúng mà bạn có thể sử dụng bất kỳ biểu tượng, nhưng ngay bây giờ, :notice
và :alert
là những người duy nhất bạn có thể vượt qua trực tiếp vào redirect_to
(theo flash.rb in Rails source), như bạn đặc biệt đề cập đến:
redirect_to path, :error => "Oh no!" # Will not work
Nếu bạn muốn có một loại đèn flash khác nhau như :error
(hoặc :success
), bạn phải vượt qua những người trong thông qua phím :flash
, như vậy:
redirect_to path, :flash => { :error => "Oh no!" }
Để biết thông tin về cách đăng ký các loại đèn flash tùy chỉnh của bạn do đó, như :notice
và :alert
, bạn có thể vượt qua chúng trực tiếp vào redirect_to
, thấy điều này StackOverflow Q & A: https://stackoverflow.com/a/3848759/995663
Cập nhật: Theo this commit, có vẻ như Rails 4 sẽ làm cho việc này dễ dàng hơn bằng cách cho phép bạn đăng ký các loại flash tùy chỉnh bằng cách gọi add_flash_types :error
trong ApplicationController.
Rails 4 cách: http://stackoverflow.com/a/18642036/2148302 – sampi
Nói về hiệu suất hoặc đúng cách để đạt được hành vi tương tự, cách tốt nhất để đi: ** 1.- Thêm loại flash mới * * như với 'add_flash_types: error, ...' hoặc ** 2.- Thêm băm mới trong đối tượng Flash ** như với ': flash => {: error =>" Oh no! " } '? –
Như Steve Grossi chỉ ra bên dưới, bạn không thể chuyển bất kỳ biểu tượng nào cho 'redirect_to' như trong ví dụ mà cjm2671 sử dụng. – Nathan