我如何在ActionView实例中使用辅助方法?
我在Worker中创建一个ActiveView对象以在后台渲染布局。 我在帮助程序目录中编写了一个帮助程序,但是我不能在我的worker使用的布局中使用:
在app / workers / worker.rb中:
av = ActionView::Base.new
av.view_paths = ActionController::Base.view_paths
# ...
av.render :template => "...", layout => "layouts/my_layout"
在app / helpers / my_helper.rb中:
module MyHelper
def my_tag(param)
# do something
end
end
在app / views / layouts / my_layout.html.erb中:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<%= my_tag "application" %>
</head>
<body>...</body>
</html>
这是工头中的抛出错误:
ActionView::Template::Error: undefined method `my_tag' for #<ActionView::Base:0xc3da390>
系统:
ruby -v:ruby 1.9.3p448
,
rails -v:Rails 3.2.11