Ruby on Rails - 在css erb文件中使用helper给出了未定义的方法

Ste*_*unn 4 css erb helper undefined ruby-on-rails-3

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

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

好像助手不包含在css文件中并被忽略.

Pin*_*nyM 7

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

Rails.application.assets.context_class.instance_eval do
  include YourHelperModule
end
Run Code Online (Sandbox Code Playgroud)

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

<% environment.context_class.instance_eval { include YourHelperModule } %>
Run Code Online (Sandbox Code Playgroud)