【发布时间】:2016-05-13 08:22:37
【问题描述】:
Rails 5.0.0.beta2 中的应用程序在尝试使用 ActionCable 时遇到服务器问题。
使用 localhost:3000 可以正常工作,因为这是大多数 ActionCable 的默认设置。但是如果我尝试在端口 3001 上运行 rails 服务器,它会给我Request origin not allowed: http://localhost:3001
ActionCable 文档提到使用 ActionCable.server.config.allowed_request_origins = ['http://localhost:3001'] 之类的东西,如果我把它放在 config.ru 中,它对我有用
但这似乎是一个非常奇怪的地方。我觉得它应该可以放在初始化文件或我的 development.rb 环境配置文件中。
为了进一步证明我的观点应该允许进入,设置 ActionCable.server.config.disable_request_forgery_protection = true 可以忽略请求来源,即使我将其包含在 development.rb 中。
为什么ActionCable.server.config.disable_request_forgery_protection 可以在 development.rb 中工作,而 ActionCable.server.config.allowed_request_origins 不能(但在 config.ru 中可以)?
这不是一个紧迫的问题,因为我有几个选项可以解决。我只是想知道我是否遗漏了一些关于我认为这应该如何工作的明显内容。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-5 actioncable