Xem xét đường ray 3:
html_safe
thực sự "đặt chuỗi" là HTML Safe (phức tạp hơn thế một chút, nhưng về cơ bản là như vậy). Bằng cách này, bạn có thể trả về chuỗi HTML Safe từ người trợ giúp hoặc mô hình theo ý muốn.
h
chỉ có thể được sử dụng từ trong bộ điều khiển hoặc chế độ xem, vì nó từ trình trợ giúp. Nó sẽ buộc đầu ra phải được thoát. Nó không thực sự bị phản đối, nhưng rất có thể bạn sẽ không sử dụng nó nữa: cách sử dụng duy nhất là "hoàn nguyên" một html_safe
tuyên bố, khá bất thường.
Chuẩn bị biểu thức của bạn raw
thực sự tương đương với việc gọi to_s
chuỗi với html_safe
nó, nhưng được khai báo trên một trình trợ giúp, giống như h
vậy, vì vậy nó chỉ có thể được sử dụng trên các bộ điều khiển và khung nhìn.
" SafeBuffers và Rails 3.0 " là một lời giải thích hay về cách hoạt động SafeBuffer
của lớp (lớp thực hiện html_safe
phép thuật).
<%== @x %>
đó là bí danh của<%= raw(@x) %>
edgeguides.rubyonrails.org/iêu