rails 如何在 ERB.new 服务中使用助手?
rails how to use helpers with ERB.new in service?
我有一个使用 ERB 文件呈现模板表单的服务。
在表单中我使用了几个助手,但在这种情况下它们似乎不可用。
如何通过 ERB.new(template).result(binding)
在渲染中使用我的助手?
这是我遇到的错误:
*** NoMethodError Exception: undefined method `image_encoded' for #<MyService>
这是服务 app/services/my_service.rb
文件中的调用:
ERB.new(template).result(binding)
这是我的助手app/helpers/my_helper.rb
:
module MyHelper
def image_encoded(image_url)
<<image stuff>>
end
end
这是我对 app/views/my_template/my_template.html.erb
文件中的助手的调用:
<img src="<%= image_encoded(image) %>"/>
在您的服务中,您的助手默认不包括在内。您可以像这样包含来自特定助手的方法:
class MyService
include MyHelper
end
我有一个使用 ERB 文件呈现模板表单的服务。
在表单中我使用了几个助手,但在这种情况下它们似乎不可用。
如何通过 ERB.new(template).result(binding)
在渲染中使用我的助手?
这是我遇到的错误:
*** NoMethodError Exception: undefined method `image_encoded' for #<MyService>
这是服务 app/services/my_service.rb
文件中的调用:
ERB.new(template).result(binding)
这是我的助手app/helpers/my_helper.rb
:
module MyHelper
def image_encoded(image_url)
<<image stuff>>
end
end
这是我对 app/views/my_template/my_template.html.erb
文件中的助手的调用:
<img src="<%= image_encoded(image) %>"/>
在您的服务中,您的助手默认不包括在内。您可以像这样包含来自特定助手的方法:
class MyService
include MyHelper
end