我有一个 css.erb 文件,其中包含我的一个页面的样式。我有一个助手,它根据该图像的位置预先格式化给定图像的 URL。
当我从视图调用辅助函数时,输出是预期的(包含图像 URL 的字符串)。但是,在 css.erb 文件中调用它会给我一个undefined method
错误,即使我将相同的函数复制并粘贴到我的 css 文件中。
就好像帮助程序未包含在 css 文件中并被忽略。
我有一个 css.erb 文件,其中包含我的一个页面的样式。我有一个助手,它根据该图像的位置预先格式化给定图像的 URL。
当我从视图调用辅助函数时,输出是预期的(包含图像 URL 的字符串)。但是,在 css.erb 文件中调用它会给我一个undefined method
错误,即使我将相同的函数复制并粘贴到我的 css 文件中。
就好像帮助程序未包含在 css 文件中并被忽略。
默认情况下,帮助程序不适用于模板化的 .css 文件。它们仅用于帮助构建视图。但是,您可以使用初始化程序尝试此处提到的解决方法:
Rails.application.assets.context_class.instance_eval do
include YourHelperModule
end
或者,如果您只需要一个或几个文件,您可以使用此处提到的解决方案,将以下代码添加到 .css.erb 文件的顶部:
<% environment.context_class.instance_eval { include YourHelperModule } %>