Ruby on rails rails应用程序中的私有发布问题
我有一个文章模型,我想在用户登录时向他们显示一条通知,比如主页上的一条快闪消息,或者在使用private_pub gem发布新文章时向已经登录的用户显示一条通知 文章\u controller.rbRuby on rails rails应用程序中的私有发布问题,ruby-on-rails,ruby-on-rails-3,private-pub,Ruby On Rails,Ruby On Rails 3,Private Pub,我有一个文章模型,我想在用户登录时向他们显示一条通知,比如主页上的一条快闪消息,或者在使用private_pub gem发布新文章时向已经登录的用户显示一条通知 文章\u controller.rb class ArticlesController < ApplicationController def index @articles = Article.all @articles_grid = initialize_grid(Article,
class ArticlesController < ApplicationController
def index
@articles = Article.all
@articles_grid = initialize_grid(Article,
:include => [:user])
end
def show
@article = Article.find(params[:id])
@comment = Comment.new
end
def new
@article = Article.new
end
def create
@article = Article.new(params[:article])
@article.user_id = current_user.id
if @article.save
redirect_to articles_url, notice: 'Created article.'
PrivatePub.publish_to('articles/new', article: @article)
else
render :new
end
end
def edit
@article = Article.find(params[:id])
end
def update
@article = Article.find(params[:id])
if @article.update_attributes(params[:article])
redirect_to articles_url, notice: 'Updated article.'
else
render :edit
end
end
end
在我的静态页面/home.html.erb中
<%= subscribe_to '/articles/new' %>
当我创建一篇新文章时,它成功地创建了一篇文章,但什么也没有发生。没有通知。您的application.js中是否包含了
/=require private\u pub
你让费伊跑了吗<代码>rackup private_pub.ru-s thin-E产品
假设您按照我调试的方式遵循了说明,那么在Google Chrome控制台中打开应用程序,查看底部的网络选项卡和websocket,查看是否建立了连接。之后,我会启动
rails控制台
并发送一些PrivatePub.publish到('articles/new',article:'hello world')
,看看它们是否会出现在Chrome中网络选项卡和websocket没有显示“faye”,但rackup命令似乎启动时没有任何问题,我很困惑我也遇到了同样的问题。当我检查谷歌浏览器控制台时。它似乎正在搜索“private_pub.yml'+.js文件中的服务器值”。我不知道为什么它会在它后面附加.js。特别是,我已经离开了PrivatePub,决定使用SockJS,并将我自己的nodejs websocket服务器与Rails集成(PrivatePub无法与iOS正常工作)。如果您仍在使用PrivatePub,开发人员将不再支持它。另一种选择是一家名为d'Anthès的私人酒吧
<%= subscribe_to '/articles/new' %>