class ActiveSupport::SafeBuffer
def concat(value)
super(ERB::Util.h(value))
end
alias << concat
def dirty?
false
end
end
Получайте удовольствие от XSS'dНе использовать в производстве.Это полностью отключает защиту XSS, и вы даже не можете явно сказать, что часть данных небезопасна.Я бы предпочел
class Post
def body_with_raw
body_without_raw.html_safe
end
alias_method_chain :body, :raw
end
или даже
class ActiveRecord::Base
def self.html_safe(*attributes)
attributes.each do |attribute|
name = attribute + "with_raw"
before = attribute + "without_raw"
define_method name do
before.html_safe
end
alias_method_chain attribute, "raw"
end
end
end
, чтобы вы могли
class Post
html_safe :body
end