如何在生产中访问此辅助函数?

lea*_*mer 8 ruby-on-rails helper ruby-on-rails-3

我正在使用private_pub将订阅客户端的通知推送给我的用户.在我的application.html.haml中,我有:

...
= javascript_include_tag 'application'
= subscribe_to "/#{@user.access_token}/notifications"
...
Run Code Online (Sandbox Code Playgroud)

subscribe_to帮助程序在开发中工作正常.部署到生产时,会记录以下错误:

ActionView::Template::Error (undefined method `subscribe_to' for #<#<Class:0x00000001f372e8>:0x00000001fded90>):
    5:     = stylesheet_link_tag 'application', :media => 'all'
    6:     = include_gon(:init => true)
    7:     = javascript_include_tag 'application'
    8:     = subscribe_to "/#{@user.access_token}/notifications"
    9:     = csrf_meta_tags
    10: 
    11:   %body
  app/views/layouts/application.html.haml:8:in `_app_views_layouts_application_html_haml__1867651381877570337_14592040'
Run Code Online (Sandbox Code Playgroud)

如何在生产环境中访问此帮助程序方法?

mgu*_*mon 3

这看起来像是加载 PrivatePub 引擎时出现的错误。如果您查看engine.rb,您会发现它正在添加 PrivatePub 视图助手作为 init 的一部分。如果它是为开发而不是生产环境加载的,则可能是一个错误。

尝试创建一个配置/初始化程序来手动加载 PrivatePub 帮助程序:

require 'private_pub/view_helpers'
ActionView::Base.send :include, PrivatePub::ViewHelpers
Run Code Online (Sandbox Code Playgroud)