Rails ApplicationHelper Выход из HTML без оператора возврата - PullRequest
4 голосов
/ 24 апреля 2010

Когда я пишу

module ApplicationHelper   
  def flash_helper 
    flash.each do |key, msg|
      content_tag :div, msg, :class => key
      ## "<div class=\"key\">" + msg + "</div>"
    end
  end
end

Я ничего не получу, если не return заявление. HTML, по моему мнению, экранируется, когда я звоню <%= flash_helper %>. Что дает? Как я могу предотвратить экранирование HTML?

Ответы [ 2 ]

4 голосов
/ 25 апреля 2010

Вы можете использовать метод concat (Rails> = 2.2.1)

module ApplicationHelper   
  def flash_helper 
    flash.each do |key, msg|
      concat(content_tag :div, msg, :class => key)
    end
    nil
  end
end
0 голосов
/ 24 апреля 2010

Вы можете переписать это так?

module ApplicationHelper   
  def flash_helper 
    s = ""
    flash.each do |key, msg|
      s += content_tag :div, msg, :class => key
      ## "<div class=\"key\">" + msg + "</div>"
    end
    return s
  end
end
...