我有一个服务,它使用一个 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
文件,我有一个服务使用ERB文件来渲染模板表单。
<img src="<%= image_encoded(image) %>"/>
在你的服务中,默认情况下,你的助记符是不包含的。你可以像这样包含某个助手的方法。
class MyService
include MyHelper
end