我试了所有我能在网上找到的东西,但都不起作用。希望一些新人能看到这个问题。这是我第一次使用ActionCable,一切都在本地运行得很好,但在推送到heroku时。我的日志没有显示任何像我的dev服务器那样的actioncable订阅: [ActionCable] [email@email.com] MsgsChannel is streaming from msg_channel_34 当发送消息时,我确实看到了[ActionCable] Broadcasting to msg_channel_34:,但它们没有被追加,我猜这意味着received方法没有被访问/调用? 我确实注意到her
我使用ROR和ActionCable创建了简单的在线聊天。然后尝试将应用程序部署到heroku。
但是我有一个奇怪的错误后部署和应用程序无法运行。
Heroku构建日志:
.........
Bundle completed (0.70s)
Cleaning up the bundler cache.
Could not detect rake tasks
ensure you can run `$ bundle exec rake -P` against your app with no environment variables present
and
我正在尝试在我的纯api rails应用程序中配置Action Cable。在一个非常基本的设置之后,我尝试从我的Ember应用程序连接到服务器。它无法连接,在Rails控制台上,我看到以下错误条目:
Started GET "/cable" for 172.17.0.1 at 2017-12-20 10:17:26 +0000
Started GET "/cable/" [WebSocket] for 172.17.0.1 at 2017-12-20 10:17:26 Request origin not allowed: http://localhost:4
我有一个部署到Heroku的Rails应用程序,我无论如何也搞不懂为什么它一直想要部署到本地。我甚至没有在我的代码中的任何地方使用localhost:6379作为前端(react原生)或后端(这是我的Rails API )。
这是每当我有一个新的广播时得到的错误:
Completed 500 Internal Server Error in 111ms (ActiveRecord: 47.1ms)
Redis::CannotConnectError (Error connecting to Redis on localhost:6379 (Errno::ECONNREFUSED)):
Appl
我已经在我们的Rails应用程序上设置了一个websocket,并且能够连接和接收来自同一服务器的数据。
我现在的方法是创建一个套接字,如下所示:
class UsersChannel < ApplicationCable::Channel
def subscribed
stream_from "users_1"
end
def unsubscribed
end
end
然后我使用javascript打开与
new WebSocket('wss://domain.com/cable/users_1');
然后,我从一个页面广播并
我正在测试actioncable和nativescript,并得到了上面的错误。我已经在我的github上设置了测试应用。
一个用于和
原生脚本应用程序来自包。这只发生在iOS上,Android连接得很好。
我找不到任何关于这个问题的信息,这让我发疯。任何帮助都是令人惊叹的。
以下是控制台输出:
Rails控制台:
Started GET "/cable" for 127.0.0.1 at 2017-04-06 16:24:50 -0700
Started GET "/cable/" [WebSocket] for 127.0.0.1 at 2017-04-06
我正在使用Rails5为我的应用程序创建api提供程序,并且,我需要使用websocket。
然后,我为测试创建了一个非常简单的代码:
routes.rb
Rails.application.routes.draw do
mount ActionCable.server => '/cable'
get '/testbroad', to: 'messages#testbroad'
end
messages_channel.rb
class MessagesChannel < ApplicationCable::Channe
我曾经在我的Gemfile中有gem 'aws-sdk',但为了防止不必要的包加载,我将其更新为gem 'aws-sdk-s3'。虽然这在我的本地机器上运行得很好,但heroku应用程序崩溃了,出现了以下错误:
cannot load such file -- aws-sdk (You may need to install the aws-sdk gem))
当我将我的新应用上传到Heroku时,我确实收到了以下警告,但Heroku上的链接对采取什么操作没有任何意义:
remote: ! Warning: You are running on a dep
我已经创建了一个rails应用程序,并且使用了actioncable,但是当我按下heroku时,它给了我H10应用程序错误。
我的日志
`block in ensure_listener_running'
2022-01-17T11:54:48.467823+00:00 heroku[web.1]: Process exited with status 1
2022-01-17T11:54:48.344709+00:00 heroku[router]: at=info method=GET path="/cable" host=rumichatapp.herokuap
我试图在我的Rails 5应用程序上实现一个webSocket。
这是我的频道:
class MessagesChannel < ApplicationCable::Channel
def subscribed
stream_from "messages_#{params[:topic]}"
end
end
在我的控制器里:
ActionCable.server.broadcast "messages_#{params[:topic_id]}",
message: @message.message,
user
我在actioncable中使用Rails 5,当我尝试发送任何抛出actioncable的东西时,我得到的是,我该怎么办?我想把这个项目推给Heroku。
NoMethodError in MessagesController#create
undefined method `fetch' for nil:NilClass
Extracted source (around line #37):
#35 # Also makes sure proper dependencies are required.
#36 def pubsub_adapter
*37
我有一个网站配置为使用ssl。我收到的每个请求都会重定向到https。最近我在它上面实现了一个websocket,它在开发中工作得很好,所以当我投入生产时,我开始收到这个错误Firefox can’t establish a connection to the server at wss:// 我创建了一个新的文件区域设置,只是为了连接到我正在生产的websocket。当我使用ws://domain连接时,当我切换到wss://domain时,我得到了错误信息。 我使用的是ubuntu 18:04,Apache/2.4.18和Rails action cable。 我的Vhost是 <
根据DHHs Rails5 ActionCable聊天示例,我将创建另一个包含对话和许多消息的示例:
rails g model conversation
class Conversation < ApplicationRecord
has_many :messages
end
rails g model message content:text conversation:references
查看/会话/show.html.erb
<h1>Conversation</h1>
<div id="messages">
&l
我尝试使用React new Hooks和ActionCable,但仍然存在一个问题,即在尝试发送状态时无法在Rails中获取正确的数据。
我尝试在做完setState()后立即使用send()方法并发送更新后的数据,但由于某些原因,在Rails部分接收的数据是旧的。例如,如果我将" example“输入到输入,我会在Rails端看到"{" data "=>"Exampl"}。我认为数据更新状态的时间比我的请求更新的时间晚。如果我从e.target.value中取值,则一切正常。
因此,我尝试使用新的useEffect()钩子并在那里发送数