2012-01-30 24 views

Trả lời

29

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.

+3

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

75

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: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: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.

+2

Rails 4 cách: http://stackoverflow.com/a/18642036/2148302 – sampi

+0

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! " } '? –

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