我如何在ActionView实例中使用帮助器?

时间:2014-01-08 14:59:13

标签: ruby-on-rails ruby ruby-on-rails-3

我如何在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

0 个答案:

没有答案