2012-07-31 30 views
8

Tôi đang sử dụng private_pub để đẩy thông báo cho khách hàng đã đăng ký cho người dùng của mình. Trong application.html.haml của tôi, tôi có:Làm cách nào để truy cập chức năng trợ giúp này trong sản xuất?

... 
= javascript_include_tag 'application' 
= subscribe_to "/#{@user.access_token}/notifications" 
... 

Trình đăng ký giúp đỡ hoạt động tốt. Khi được triển khai vào sản xuất, lỗi sau được ghi lại:

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' 

Tôi có thể truy cập phương thức trợ giúp này trong môi trường sản xuất của mình bằng cách nào?

+0

Bạn có 'bó install' trong sản xuất sau khi thêm nó vào gemfile? –

+0

Có, tập lệnh triển khai của tôi chạy gói cài đặt –

+0

phiên bản Rails bạn đang chạy là gì? –

Trả lời

3

Điều này giống như lỗi khi tải công cụ PrivatePub. Nếu bạn xem engine.rb, bạn sẽ thấy nó đang thêm trình trợ giúp chế độ xem PrivatePub như một phần của init. Có thể là một lỗi nếu nó đang tải cho sự phát triển, nhưng không phải là môi trường sản xuất.

Hãy thử và tạo ra một config/initializers rằng tải giúp đỡ PrivatePub bằng tay:

require 'private_pub/view_helpers' 
ActionView::Base.send :include, PrivatePub::ViewHelpers 
+0

Tôi không thể truy cập private_pub/view_helpers trong bộ khởi tạo. Tôi nhận được một LoadError –

+1

Đã xảy ra sự cố với đá quý sản xuất của bạn. Tôi vừa tạo một dự án Rails 3 mới và đã thử nghiệm bộ khởi tạo, nó tải mà không có vấn đề gì. Nếu yêu cầu không thành công, điều đó có nghĩa là đá quý private_pub không được tải. Bạn sử dụng lệnh nào để chạy máy chủ rails của mình? – mguymon

+0

có vẻ như máy chủ Debian của tôi không hoạt động với điều này, nhưng chạy Ubuntu trên một ngăn xếp phần cứng máy chủ khác hoạt động tốt. –

0

Tập lệnh triển khai của bạn có bắt đầu tập tin rack của Faye không? rackup private_pub.ru -s mỏng -E sản xuất

+0

có, tôi có thể tải tệp faye.js tốt. Khi tôi triển khai ứng dụng đường ray, nó không thể tìm thấy phương thức subscribe_to –

Các vấn đề liên quan