在视图中使用帮助程序会转义html?
在我的ruby on rails应用程序中,我必须使用递归来呈现嵌套的注释。
因此我决定将渲染卸载到帮助器中的函数中。
该函数的基本结构如下:
def display_comments(tree) to_render = "" to_render < 'comment', :locals => {:body => tree[:body]}}) tree[:children].each do |child| to_render << display_comment(child) end return to_render end
在视图中我称之为:
0 %> <%= display_comments(tree)
但是,在网页上,rails会转义所有的html,最终看起来像这样:
您可能希望在返回之前调用html_safe
。 Rails 3中的清理行为有所改变(默认情况下启用了XSS保护),因此您可能还想查看有关raw
, h
和html_safe
SO讨论,该讨论链接到Yehuda Katz 对Rails 3中的SafeBuffers的解释 。
- 在Rails中,我可以通过委托方法订购查询吗?
- Bundler :: RubyVersionMismatch:您的Ruby版本是1.9.3,但您的Gemfile指定为2.0.0
- 何时在BDD循环中从黄瓜切换到rspec以进行登录过程
- has_many关系的动态class_name
- 安装rvm“bash /root/.rvm/scripts/rvm没有这样的文件或目录”
- Rails 3:如何在没有模板文件的情况下响应csv?
- rspec / capybara:如何模拟传入的POST请求? (机架测试不起作用)
- 如何让一行以|结尾 (管道)在HAML?
- AngularJS + Rails:后退按钮“警告:尝试不止一次加载角度。”