Rails HTML экранирование - PullRequest
       1

Rails HTML экранирование

0 голосов
/ 05 марта 2012

У меня есть следующий код в помощнике Rails 3.2.1, который продолжает экранировать HTML, даже если я этого не хочу, и я не могу понять, как отключить экранирование html в этом методе (вызывая raw или html_safeне работает):

module OffersHelper
  def price_tag(amount)
    amount = amount.to_f
    floor = amount.floor
    cents = ((amount - amount.floor) * 100).to_i
    content_tag(:h2) do
      html = floor.to_s
      html << content_tag(:sup, cents) if cents > 0
      html
    end
  end
end

Если я удаляю вложенный тег content_tag (тег sup), экранирование html отключается ...

1 Ответ

1 голос
/ 05 марта 2012

Попробуйте:

module OffersHelper
  def price_tag(amount)
    amount = amount.to_f
    floor = amount.floor
    cents = ((amount - amount.floor) * 100).to_i
    out = content_tag(:h2) do
      html = floor.to_s
      html << content_tag(:sup, cents) if cents > 0
      html
    end
    out.html_safe
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...