Учитывая Rails 3:
html_safe
на самом деле «устанавливает строку» как HTML Safe (это немного сложнее, но это в основном так). Таким образом, вы можете возвращать строки HTML Safe от помощников или моделей по желанию.
h
может использоваться только из контроллера или представления, так как это от помощника. Это заставит выход быть экранированным. На самом деле это не рекомендуется, но вы, скорее всего, больше не будете его использовать: единственное использование - «отменить» html_safe
объявление, довольно необычно.
Предварительное добавление выражения к raw
фактически эквивалентно вызову, to_s
связанному с html_safe
ним, но оно объявляется помощником, точно так же, как h
его можно использовать только в контроллерах и представлениях.
« SafeBuffers and Rails 3.0 » - хорошее объяснение того, как работает SafeBuffer
s (класс, который творит html_safe
магию).
<%== @x %>
что это псевдоним<%= raw(@x) %>
edgeguides.rubyonrails.org/…