4

我有一个 css.erb 文件,其中包含我的一个页面的样式。我有一个助手,它根据该图像的位置预先格式化给定图像的 URL。

当我从视图调用辅助函数时,输出是预期的(包含图像 URL 的字符串)。但是,在 css.erb 文件中调用它会给我一个undefined method错误,即使我将相同的函数复制并粘贴到我的 css 文件中。

就好像帮助程序未包含在 css 文件中并被忽略。

4

1 回答 1

8

默认情况下,帮助程序不适用于模板化的 .css 文件。它们仅用于帮助构建视图。但是,您可以使用初始化程序尝试此处提到的解决方法:

Rails.application.assets.context_class.instance_eval do
  include YourHelperModule
end

或者,如果您只需要一个或几个文件,您可以使用此处提到的解决方案,将以下代码添加到 .css.erb 文件的顶部:

<% environment.context_class.instance_eval { include YourHelperModule } %>
于 2012-11-25T04:08:45.463 回答