Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails rails应用程序中的私有发布问题_Ruby On Rails_Ruby On Rails 3_Private Pub - Fatal编程技术网

Ruby on rails rails应用程序中的私有发布问题

Ruby 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,

我有一个文章模型,我想在用户登录时向他们显示一条通知,比如主页上的一条快闪消息,或者在使用private_pub gem发布新文章时向已经登录的用户显示一条通知

文章\u controller.rb

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' %>