是否可以在 erb 模板中要求一个类?

Posted

技术标签:

【中文标题】是否可以在 erb 模板中要求一个类?【英文标题】:Is it possible to require a class in an erb template? 【发布时间】:2012-05-27 11:48:46 【问题描述】:

我有一个需要使用的 erb 模板:

CGI.unescapehtml(someEscapedHTML)

所以我需要'cgi',但是以下失败:

<% require 'cgi' %>

出现错误:

无法复制 NilClass

【问题讨论】:

失败如何?请在描述中更加准确。 @RyanBigg 更新了错误的问题。另请参阅单独的问题:***.com/questions/10677908/… 【参考方案1】:

首先,请不要在 ERB 中使用 gems 或库。那么 Rails 本身已经需要 CGI 了。

如果您想防止 Rails 3 自动转义,请考虑使用

&lt;%= data.html_safe %&gt;

改为。

【讨论】:

【参考方案2】:

我个人从不在视图中添加 require 语句,因为 1)它很难看,2)如果另一个视图需要该 require 怎么办?

一个更好的地方是在底部的config/application.rb,或者在config/initializers的文件中。

【讨论】:

确实如此。只是做一些快速而肮脏的事情。

以上是关于是否可以在 erb 模板中要求一个类?的主要内容,如果未能解决你的问题,请参考以下文章

Rails 3.2 - haml vs. erb。haml是否更快?(2012年2月)

在 Rails 3 中处理 JS/ERB 模板中的 JSON

erb模板中的一条评论如何?

块给定?在 erb 模板中总是返回 true

从脚手架调用的自定义 erb 生成器

Java类