gpt4 book ai didi

ruby-on-rails - Rails 服务器错误不清楚

转载 作者:数据小太阳 更新时间:2023-10-29 08:07:06 26 4
gpt4 key购买 nike

使用 OS X Sierra

我有一个包含两部分的 Rails 应用程序:前端和后端。在后端,我使用的是 Rails 4。在前端,我使用的是 Angular。每当我必须在本地启动服务器(用于开发或测试)时,我都会使用 3 个不同的控制台窗口。

一个运行 grunt watch

另一个运行 http-server ./build/-p 8000 -c-1

最后运行rails server

我的本​​地后端存储库只是生产环境中运行的克隆。(减去服务器配置)

当我使用前端连接到我的远程服务器时,它可以正常工作。但是,当我在本地运行后端并尝试登录时,我得到的只是以下日志,并且没有任何响应:

=> Booting WEBrick
=> Rails 4.2.7 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[2017-01-02 16:19:21] INFO WEBrick 1.3.1
[2017-01-02 16:19:21] INFO ruby 2.3.3 (2016-11-21) [x86_64-darwin15]
[2017-01-02 16:19:21] INFO WEBrick::HTTPServer#start: pid=10496 port=3000

前端抛出如下错误:

XMLHttpRequest cannot load localhost:3000/auth_user? email=admin@railsapp.com&password=VVVVVVVV. Cross origin requests are only supported for HTTP.

我的 Angular 端点文件

angular.module( 'common.config', [] )
.factory('endpoints', function() {
var host = 'development';

if (['live.companysite.com'].indexOf(window.location.host) > -1) {
host = 'production';
} else if (['companysite.com'].indexOf(window.location.host) > -1) {
host = 'development';
} else {
host = 'local';
}

var endpoints = {
'production': {
root: 'http://live.companysite.com/'
},
'development': {
root: 'http://companysite.com/'
},
'local': {
root: 'localhost:3000/'
}
};

return endpoints[host];
});

我知道这应该是一个 CORS 问题,但由于它与两个远程服务器(生产和测试)完美配合,我相信我的本地配置可能是问题所在。

最佳答案

'localhost:3000auth_user?emai' 我认为你在 auth_user 之前和 :3000 之后缺少一个 '/',检查你在 Angular 项目中定义 api 的行,可能你需要添加一个斜杠。检查您的配置中的更改:

'local': { root: "http:// localhost:3000/" }

关于ruby-on-rails - Rails 服务器错误不清楚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41432570/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com