Websocket在rails不工作,因为路由



我使用websocket在rails中创建web应用程序。我在routes.rb

中创建了add

get '/:username' => 'users#profile', as:"profile"

之后,我在Gemfile

中添加以下内容

gem 'websocket-rails'

然后在application.js

中添加以下内容

var dispatcher = new WebSocketRails('localhost:3000/websocket');
channel = dispatcher.subscribe('articles');
channel.bind('new', function(article) {
  console.log('a new article about '+article.id+' arrived!');
})

问题是

localhost:3000/websocket =====> run profile_path (get '/:username' => 'users#profile', as:"profile")

如何解决我的websocket问题没有删除{ get '/:username' => 'users#profile', as:"profile" } ..?

我是使用web套接字开发rails的新用户。

我使用路由约束修复了这个问题:

get '/:hash', to: 'conversations#show', constraints: {hash: /((?!websocket).)*/}

路由将无法工作,除非:hash不包含字符串'websocket'

我相信有一个更好的正则表达式,如果我的哈希曾经随机包含字符串"websocket"它会失败。

但是,这为我解决了你在开发中的问题。

相关内容

  • 没有找到相关文章

最新更新