Rails自动escpaping HTML - 如何阻止它?

时间:2011-05-13 19:44:28

标签: ruby-on-rails ruby-on-rails-3

我正在努力将旧的Rails应用程序(1.1.6)升级到Rails 3.很显然,很多东西已经改变了。有一件事似乎是Rails自动转义掉落到视图中的内容。但是,我有一个情况,我有一个助手为我生成IMG标签,Rails会自动转发结果内容。

<%= random_image('public/images/headers') %>

这会导致转义内容,就像我预期的那样(在1.1.6中)

<%= h random_image('public/images/headers') %>

有没有办法告诉它逃脱?

3 个答案:

答案 0 :(得分:5)

<%= raw random_image('public/images/headers') %>

答案 1 :(得分:3)

.html_safe

可能需要在帮助者

答案 2 :(得分:2)

有一些方法可以在rails 3应用程序中实现这一点

  1. html_safe
  2. 原始
  3. ħ
  4. raw和h只能在控制器和视图中使用,这些方法在助手中定义。

    html_safe可以在rails应用程序的任何地方使用,即可以在模型,助手,控制器等中使用。

    有关详细信息,请参阅http://yehudakatz.com/2010/02/01/safebuffers-and-rails-3-0/