我正在使用private_pub将订阅客户端的通知推送给我的用户。在我的application.html.haml中,我有:
...
= javascript_include_tag 'application'
= subscribe_to "/#{@user.access_token}/notifications"
...
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'
如何在生产环境中访问此辅助方法?
答案 0 :(得分:3)
这看起来像加载PrivatePub引擎时出错。如果查看engine.rb,您会看到它正在添加PrivatePub视图助手作为init的一部分。如果它是为开发加载而不是生产环境,可能是一个bug。
尝试并创建一个手动加载PrivatePub助手的配置/初始化器:
require 'private_pub/view_helpers'
ActionView::Base.send :include, PrivatePub::ViewHelpers
答案 1 :(得分:0)
您的部署脚本是否启动了Faye的rackup文件? rackup private_pub.ru -s thin -E production