Trong ứng dụng Rails, tôi đã sử dụng Faye (Bộ điều hợp giá) cho thông báo đẩy (để trò chuyện).Rails pub/sub with faye
Tôi muốn sử dụng Faye cho một trường hợp sử dụng khác (nhiều thông báo đẩy hơn) nhưng tôi dường như không thể hiểu được.
Trong ứng dụng của tôi, một mô hình có thể được tạo từ một công việc nền vì vậy tôi muốn làm mới một trong các chế độ xem của tôi (nói hành động chỉ mục) khi mô hình được tạo.
Giống như vậy:
app/models/post.rb
class Post
include Mongoid::Document
after_create :notify_subscribers
private
def notify_subscribers
Faye::Client.publish("/posts")
end
end
app/views/posts/index.html.erb
<%= subscribe_to(posts_url) do %>
uhh what do I do here? ajax call to refresh the whole page??
<% end %>
Vì vậy, được xuất bản thông báo trực tiếp từ một cuộc gọi lại sau một ý tưởng hay và khi tôi nhận được một tin nhắn từ máy chủ Faye làm thế nào để tôi thực hiện "cập nhật"? Tôi có thực hiện cuộc gọi AJAX để tải lại dữ liệu từ máy chủ không? Điều đó có vẻ như nó sẽ chậm.
Hơn nữa, tôi muốn sử dụng một cái gì đó tương tự để cập nhật mô hình (giả sử người dùng thêm một số nhận xét hoặc tác giả thay đổi nội dung) để đập DB tất cả thời gian dường như không phải là một kế hoạch tốt ...
Làm thế nào để bạn làm điều đó Faye của tôi từ chối làm việc mẫu config.ru Và tôi nhận được 'RuntimeError: eventmachine không được khởi tạo: evma_connect_to_server' mỗi khi tôi cố gắng tạo đối tượng Post. Chuyện gì vậy? – prikha
@prikha bạn đã giải quyết được điều đó chưa? Tôi có cùng một vấn đề. – Eduardo
@Eduardo Yepp! Mọi thứ diễn ra khi bạn bắt đầu sử dụng ngăn xếp phù hợp. Unicorn + Mỏng. Và sử dụng tải faye EM. – prikha